[LINUX] [Shell-Skript] Es ist ärgerlich, jede Woche denselben Inhalt zu senden, also habe ich versucht, ihn zu automatisieren! !! !!

Überblick

Wir halten jeden Samstag eine wolkige Lernsitzung ab, aber kurz vor dem Start: "Fügen Sie die Zoom-URL ein, denken Sie über den E-Mail-Text nach und senden Sie die E-Mail." Diese Arbeit ist mühsam. Erstellen wir also ein festes Formular und senden es automatisch an slack! !! Es ist der Inhalt.

■ Rauer Durchfluss

  1. Erstellen Sie eine Datei und erteilen Sie die Ausführungsberechtigung
  2. Registrieren und konfigurieren Sie Incoming Webhook in Slack
  3. Codeerstellung (Zoom-URL + E-Mail-Text)
  4. Cron-Einstellungen (Job Scheduling)

1. Erstellen Sie eine Datei und erteilen Sie die Ausführungsberechtigung

Erstellen Sie zunächst eine Datei, um das Programm zu schreiben. Ich habe eine Datei namens Saturday_execute im Shellscript-Verzeichnis erstellt, da diese am Samstag ausgeführt wird. (Der Pfad von ./shellscript/Saturday_execute wird in den Cron-Einstellungen verwendet.) Lassen Sie uns nun Saturday_execute Berechtigungen erteilen.

■ Zeigen Sie Dateiinformationen im Verzeichnis an

/shellscript


$ ls -l      #Zeigen Sie Dateiinformationen im Verzeichnis an
-rw-r--r--1 Name des Dateibesitzers Dateizugehörigkeitsgruppe Dateigröße Aktualisiertes Datum und Uhrzeit Samstag_execute(Dateiname)

Verwendung und Optionen des Befehls ls

Details der angezeigten Informationen

-r: Lesbar --w: Beschreibbar --x: Ausführbar ---: Keine Zugriffsberechtigung

Sie können sehen, dass Sie keine Ausführungsberechtigung haben, da das dritte Zeichen der Zugriffsberechtigung des Besitzers "-" ist. Sie haben keine Ausführungsberechtigung, geben Sie ihm also Ausführungsberechtigung.

■ Erteilung der Ausführungsberechtigung Verwenden Sie den Befehl chmod, um die Berechtigungen zu ändern. Verwendung von chmod und Optionen

/shellscript


$ chmod u+x Saturday_execute    #Dateipfad für die Einstellung der chmod-Berechtigung

Befehlserklärung

Symbol Bedeutung
u Eigentümerautorität

Wie unter "■ Anzeigen von Verzeichnisinformationen" erläutert, war x die Ausführungsberechtigung.

Dies bedeutet "dem Eigentümer der Saturday_execute-Datei die Ausführungsberechtigung erteilen".

2. Registrieren und konfigurieren Sie eingehende Webhooks im Ruhezustand

Suchen Sie nach eingehenden Webhooks über die Schaltfläche "+ neben der App" unten links im Slack. スクリーンショット 2020-07-26 11.53.54.png Klicken Sie auf "Einstellungen hinzufügen" スクリーンショット 2020-07-26 12.48.02.png Wählen Sie den Kanal aus, über den Sie benachrichtigt werden möchten, und klicken Sie auf Eingehende Webhook-Integration hinzufügen. スクリーンショット 2020-07-26 12.48.52.png Erstellen Sie eine Kopie der Webhook-URL zur Verwendung, indem Sie sie in Ihren Code einbetten. スクリーンショット 2020-07-26 12.49.01.png

Damit sind die Einstellungen abgeschlossen! !!

3. Codeerstellung (Zoom-URL + E-Mail-Text)

Stellen Sie die URL-Einstellung von Incoming Webhook ein, senden Sie den Slack-Kanal, senden Sie den Namen, das Symbol, die Nachricht und senden Sie mit dem Befehl curl.

/shellscript/Saturday_execute


#!/bin/bash

#################################################################################
#Senden Sie am Samstagmorgen eine E-Mail mit der URL für die Teilnahme an der Lernsitzung
#Überblick:Stellen Sie die URL-Einstellung von Incoming Webhook ein, senden Sie den Slack-Kanal, senden Sie den Namen, das Symbol, die Nachricht und senden Sie mit dem Befehl curl.
#Ausführungsdatum:Jeden Samstag 9:55
#################################################################################

#Benachrichtigen Sie den "Lernsitzungs" -Kanal von slack(URL der eingehenden Web-Hooks)
WEBHOOKURL="URL des kopierten eingehenden Webhooks"

###############################################################
#Feste Textzeichenfolge erstellen
###############################################################
#lockerer Sendekanal
CHANNEL="#Studiengruppe"
#Slack Absendername
BOTNAME="Hinweis auf Informationen zur Studiensitzung"
#schlaffes Symbol
FACEICON=":snail:"  #Ich benutze das Leck-Symbol. Wenn Sie die Einstellung ändern möchten, klicken Sie auf "https".://www.webfx.com/tools/emoji-cheat-sheet/"verwenden.
#Nachrichteninhalt
MESSAGE="Ich werde von nun an eine Lernsitzung beginnen.\n Bitte geben Sie über die unten stehende URL ein.\n ■ Zeit: 10:00 bis 17:00 Uhr\n <zoom URL>"

curl -X POST --data-urlencode "payload={\"channel\": \"${CHANNEL}\", \"username\": \"${BOTNAME}\", \"icon_emoji\": \"${FACEICON}\", \"text\": \"${MESSAGE}\" }" ${WEBHOOKURL}

Der Code-Inhalt speichert nur die Zeichenfolge in einer Variablen und sendet sie mit dem Befehl curl! !!

・ Wenn Sie die Grundbedienung nicht verstehen, siehe unten! Grundbefehl des Shell-Skripts ・ Wenn Sie den Befehl curl nicht verwenden können, siehe unten! Optionen für Curl-Befehle

4. Cron-Einstellungen (Job Scheduling)

Wenn Sie diesen Punkt erreicht haben, müssen Sie nur noch "das angegebene Programm zum angegebenen Zeitpunkt ausführen"! !! ■ Die Jobplanung ist eine Funktion, die ein bestimmtes Programm zu einem bestimmten Zeitpunkt automatisch ausführt. Die folgenden zwei Typen

・ Cron

Diese Implementierung wird wöchentlich benachrichtigt, daher werden wir dies mit cron tun. Stellen wir nun die Datei "/ shellscript / Saturday_execute" so ein, dass sie jede Woche um "9:55" ausgeführt wird.

python


$ crontab -e      #Beginnen Sie mit der Option e
スクリーンショット 2020-07-26 14.13.17.png

Wechseln Sie mit i in den Einfügemodus und geben Sie Folgendes ein

crontab


# (Protokoll)(Zeit)(Tag)(Mond)(曜Tag)Pfad des auszuführenden Befehls
55 9 * * sat bash ./shellscript/Saturday_execute    #Jeden Samstag um 9:55 "Samstag"_execute "file execute

#Drücken Sie nach der Eingabe die Esc-Taste:Speichern Sie mit wq

Drücken Sie die Taste exc: Speichern mit wq und fertig! !! !!

Eine Benachrichtigung wird gesendet, um so zu lockern. スクリーンショット 2020-07-26 14.26.05.png

Wenn Sie die Details von cron nicht kennen, lesen Sie bitte Folgendes.

Regelmäßige Verarbeitung mit cron durchführen Ich möchte keine Zahlen mehr verwenden, um den Tag im Ron-Format anzugeben

Recommended Posts

[Shell-Skript] Es ist ärgerlich, jede Woche denselben Inhalt zu senden, also habe ich versucht, ihn zu automatisieren! !! !!
Ich habe die Größenänderung von TensorFlow nicht verstanden und sie daher visuell zusammengefasst.
Ich habe versucht, YouTube zu kratzen, aber ich kann die API verwenden, also tu es nicht.
Ich habe versucht, es zu erweitern, damit die Datenbank mit der Analysesoftware von Wiire verwendet werden kann
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Ich habe versucht, das automatische Senden einer E-Mail durch Doppelklicken auf das Symbol [GAS / Python] zu ermöglichen
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, den Abschnitt zu schätzen.
Als ich versuchte, Python auszuführen, wurde ich zum Microsoft Store übersprungen
Python - Ich habe versucht, die umfassende Notation des Wörterbuchs in ihrer ursprünglichen Form wiederherzustellen.
Passende Karaoke-Tasten ~ Ich habe versucht, es auf Laravel zu setzen ~ <auf dem Weg>
Der tree.plot_tree von scikit-learn war sehr einfach und bequem, daher habe ich versucht, zusammenzufassen, wie man es einfach benutzt.
Als ich in IPython versuchte, den Wert zu sehen, war es ein Generator, also kam ich auf ihn, als ich frustriert war.
Ich wollte die Anzahl der Zeilen in mehreren Dateien wissen und versuchte, sie mit einem Befehl abzurufen
Ich habe versucht, den Befehl umask zusammenzufassen
Ich habe versucht, die grafische Modellierung zusammenzufassen.
Ich habe versucht, das Umfangsverhältnis π probabilistisch abzuschätzen
Ich habe versucht, die COTOHA-API zu berühren
Ich habe versucht, mein eigenes Modul zu veröffentlichen, damit ich es per Pip installieren kann
Als ich versuchte, das Root-Passwort mit ansible zu ändern, konnte ich nicht darauf zugreifen.
Ich habe versucht, die 100-Yen-Lagerstätte von Rakuten-Pferderennen (Python / Selen) zu automatisieren.
[LIVE] Ich habe versucht, die Sonnenauf- und -untergangszeiten jeden Tag landesweit zu liefern
Ich habe versucht, die Daten des Laptops durch Booten unter Ubuntu zu retten
Ich habe versucht, die Gesichtsverdeckungsarbeit des Koordinationsbildes für das Tragen zu automatisieren
Ich habe versucht, die Literatur des neuen Corona-Virus mit Python automatisch an LINE zu senden
Ich habe versucht, OneHotEncoder zu erstellen, der häufig für die Datenanalyse verwendet wird, damit er den juckenden Ort erreicht.