Hervorragende Software und praktische Tutorials
So verwenden Sie den Crontab-Befehl zum Einrichten der automatischen Aktualisierung geplanter Aufgaben in Apple CMS
Geplante Aufgaben des Apple CMS Es gibt verschiedene Möglichkeiten, die geplanten Aufgaben des Apple CMS zu aktualisieren. Wenn das Apple CMS in Windows integriert ist, können Sie die mitgelieferte Funktion für geplante Aufgabenaktualisierung nutzen. Unter Linux können Sie geplante Aktualisierungsaufgaben auf Drittanbieterplattformen oder benutzerdefinierte Aktualisierungsaufgaben auf Drittanbieterwebsites wie Alibaba Cloud und Tencent Cloud einrichten. Im Folgenden wird eine weitere Möglichkeit vorgestellt, mit dem Crontab-Befehl im Linux-System geplante Aufgaben zur automatischen Aktualisierung der Website einzurichten.Automatische Aktualisierung der Website.
Verstehen, was Crontab ist
Mit dem crontab-Befehl können wir bestimmte Systembefehle oder Shell-Skripte in festen Intervallen ausführen. Das Zeitintervall kann Minuten, Stunden, Tage, Monate, Wochen oder eine beliebige Kombination davon betragen. Dieser Befehl eignet sich hervorragend für die regelmäßige Protokollanalyse oder Datensicherung.
Format
crontab [-u Benutzer] Datei crontab [-u Benutzer] [ -e | -l | -r ]
Befehlsparameter
-u Benutzer: wird verwendet, um den Crontab-Dienst eines Benutzers einzurichten;
Datei: Datei ist der Name der Befehlsdatei. Diese Datei dient als Aufgabenlistendatei von Crontab und wird in Crontab geladen. Wird diese Datei nicht in der Befehlszeile angegeben, akzeptiert Crontab die über die Standardeingabe (Tastatur) eingegebenen Befehle und lädt sie in Crontab.
-e: Bearbeitet den Inhalt der Crontab-Datei eines bestimmten Benutzers. Wenn kein Benutzer angegeben ist, bedeutet dies, dass die Crontab-Datei des aktuellen Benutzers bearbeitet wird.
-l: Zeigt den Inhalt der Crontab-Datei eines Benutzers an. Wenn kein Benutzer angegeben ist, wird der Inhalt der Crontab-Datei des aktuellen Benutzers angezeigt.
-r: Löscht die Crontab-Datei eines Benutzers aus dem Verzeichnis /var/spool/cron. Wenn kein Benutzer angegeben ist, wird standardmäßig die Crontab-Datei des aktuellen Benutzers gelöscht.
-i: Beim Löschen der Crontab-Datei eines Benutzers zur Bestätigung auffordern.
Crontab-Dateiformat
Befehle, die nach Uhrzeit, Tag, Monat und Woche ausgeführt werden sollen
- Spalte 1: Minuten 0 bis 59
- Die zweite Spalte ist die Stunde 0 bis 23 (0 bedeutet Mitternacht)
- 3. Lüttich 1-31
- Spalte 4 Monat 1 bis 12
- Spalte 5: Wochentag 0 bis 7 (0 und 7 stehen für Sonntag)
- Spalte 6 Der auszuführende Befehl
# .---------------- Minute, der Wertebereich ist 0-59 # | .------------- Stunde, der Wertebereich ist 0-23 # | | .---------- Tag, der Wertebereich ist 1-31 # | | | .------- Monat, der Wertebereich ist 1-12 # | | | | .---- Wochentag, der Wertebereich ist 0-7, 0 und 7 bedeuten beide Sonntag# | | | | | .-- Auszuführender Befehl# | | | | | | 0 19 * * * bash /root/test.sh
Geplante Aufgaben des Apple CMS
Konfigurieren Sie als Nächstes die geplante Aufgabe von Apple CMS. Zuerst im Hintergrund von Apple CMSSystemIn den OptionenKonfiguration geplanter Aufgaben.
In den Betriebsoptionen nach der Aufgabe, die automatisch aktualisiert werden muss,prüfenKlicken Sie mit der rechten Maustaste und klicken Sie dann aufLinkadresse kopierenErhaltenprüfenURL-Adresse.
Zum Beispiel:
https://xxx.com/api.php/timming/index.html?enforce=1&name=lz https://xxx.com/api.php/timming/index.html?enforce=1&name=sd https://xxx.com/api.php/timming/index.html?enforce=1&name=xl https://xxx.com/api.php/timming/index.html?enforce=1&name=kc https://xxx.com/api.php/timming/index.html?enforce=1&name=gs
Diese URLs werden im Browser geöffnet und müssen gültige Links sein, die die Website normal aktualisieren können.
Als nächstes richten Sie eine geplante Aufgabe im Linux-System ein.
Crontab installieren
Im Allgemeinen installiert CentOS standardmäßig Crontab. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob es installiert ist:
rpm -qa | grep crontab
Wenn das Abfrageergebnis dem Folgenden ähnelt, bedeutet dies, dass es installiert wurde:
Wenn das Ergebnis leer ist, bedeutet dies, dass es nicht installiert ist. Führen Sie den folgenden Befehl aus, um es zu installieren:
dnf install -y crontabs
Allgemeine Crontab-Befehle
Überprüfen Sie den Ausführungsstatus der Crontab:
systemctl status crond
Wie in der Abbildung oben gezeigt, bedeutet das angezeigte Ergebnis „Aktiv: aktiv (läuft)“, dass es läuft, und „Aktiv: inaktiv (tot)“, dass es nicht läuft.
Wenn crontab nicht ausgeführt wird, können Sie es mit dem folgenden Befehl so einstellen, dass es beim Booten automatisch gestartet wird.
Richten Sie Crontab so ein, dass es beim Booten automatisch gestartet wird:
systemctl aktiviere crond
Crontab starten:
systemctl start crond
Zeigen Sie die geplanten Aufgaben des aktuellen Benutzers an:
crontab -l
Einrichten geplanter Aufgaben
Erstellen Sie zunächst ein vod.sh-Skript im Stammverzeichnis.
vi /root/vod.sh
Drücken Sie i, um in den Bearbeitungszustand zu wechseln und fügen Sie den folgenden Inhalt ein:
#! /bin/bash a=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=lz') b=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=sd') c=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=xl') d=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=kc') e=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=gs') echo $a sleep 10 echo $b sleep 10 echo $c sleep 10 echo $d Schlaf 10 Echo $e
Drücken Sie die Esc-Taste und geben Sie :wq ein, um die Datei zu speichern.
Sie können auch die folgende Schreibmethode verwenden, der Effekt ist derselbe.
#!/bin/bash func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=gs' touch gs echo "gs geöffnet" } func & sleep 5 if [ -f gs ] then echo "gs erfolgreich" else echo "gs fehlgeschlagen" fi rm -f gs sleep 10 func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=kc' touch kc echo "kc geöffnet" } func & sleep 5 if [ -f kc ] then echo "kc erfolgreich" else echo "kc fehlgeschlagen" fi rm -f kc sleep 10 func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=sd' touch sd echo "sd geöffnet" } func & sleep 5 if [ -f sd ] then echo "sd erfolgreich" sonst echo "sd fehlgeschlagen" fi rm -f sd sleep 10 func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=xl' touch xl echo "xl geöffnet" } func & sleep 5 wenn [ -f xl ] dann echo "xl erfolgreich" sonst echo "xl fehlgeschlagen" fi rm -f xl sleep 10 func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=lz' touch lz echo "lz geöffnet" } func & sleep 10 wenn [ -f lz ] dann echo "lz erfolgreich" sonst echo "lz fehlgeschlagen" fi rm -f lz
Syntax des Befehls „sleep“: Nachfolgend finden Sie die Syntax des Befehls „sleep“ in Bash:
Schlafnummer [Suffix]
Sie können positive Ganzzahlen oder Dezimalzahlen als Zeitwerte verwenden. Das Suffix ist optional. Sie können Folgendes als Suffix verwenden:
- s - steht für Sekunden
- m - steht für Minuten
- h - steht für die Stunde
- d - für Tag
HINWEIS: Wenn kein Suffix vorhanden ist, wird die Zahl in Sekunden angegeben (Standard).
Wenn zwei oder mehr Parameter angegeben werden, entspricht die Gesamtzeit der Summe der Werte. Hier sind einige einfache Beispiele, die die Verwendung des Sleep-Befehls veranschaulichen:
- Um 9 Sekunden lang zu schlafen, verwenden Sie:
Schlaf 9 oder Schlaf 9s - Um 0,5 Sekunden zu schlafen, verwenden Sie:
Schlaf 0,5 oder Schlaf 0,5 s - Um 2 Minuten und 30 Sekunden zu schlafen, verwenden Sie:
Schlaf 2 Min. 30 Sek. - 8 Stunden schlafen, verwenden:
8 Stunden schlafen - Schlafen Sie 2 Tage 9 Stunden 5 Minuten 55 Sekunden, verwenden Sie:
Schlaf 2 Tage 9 Stunden 5 Minuten 55 Sekunden
Führen Sie den folgenden Befehl aus, um die geplanten Aufgaben des aktuellen Benutzers zu bearbeiten:
crontab -e
Nach der Ausführung des Befehls crontab -e wird ein Dokument geöffnet. Drücken Sie i, um in den Bearbeitungszustand zu wechseln. Fügen Sie den folgenden Inhalt in das Dokument ein. Anschließend speichern und beenden!
0 19 * * * bash /root/vod.sh
Der obige Code bedeutet, dass das Skript /root/vod.sh jeden Tag um 19:00 Uhr ausgeführt wird.
Wenn Sie das Skript einmal pro Stunde ausführen möchten, können Sie es einzeln hinzufügen.
Hinweis: In der Konfigurationsdatei der geplanten Aufgabe können Sie um 24:00 Uhr nicht 24 eingeben, sondern müssen 0 eingeben, sonst wird ein Fehler gemeldet!
Zum Beispiel:
0 1 * * * bash /root/vod.sh 0 2 * * * bash /root/vod.sh 0 3 * * * bash /root/vod.sh 0 4 * * * bash /root/vod.sh 0 5 * * * bash /root/vod.sh 0 6 * * * bash /root/vod.sh 0 7 * * * bash /root/vod.sh 0 8 * * * bash /root/vod.sh 0 9 * * * bash /root/vod.sh 0 10 * * * bash /root/vod.sh 0 11 * * * bash /root/vod.sh 0 12 * * * bash /root/vod.sh 0 13 * * * bash /root/vod.sh 0 14 * * * bash /root/vod.sh 0 15 * * * bash /root/vod.sh 0 16 * * * bash /root/vod.sh 0 17 * * * bash /root/vod.sh 0 18 * * * bash /root/vod.sh 0 19 * * * bash /root/vod.sh 0 20 * * * bash /root/vod.sh 0 21 * * * bash /root/vod.sh 0 22 * * * bash /root/vod.sh 0 23 * * * bash /root/vod.sh 0 0 * * * bash /root/vod.sh
Probleme mit der nicht ausgeführten Crontab
- Überprüfen Sie, ob vor dem Skriptpfad „bash“ oder „/etc/profile;/bin/sh“ hinzugefügt wurde.
- Überprüfen Sie, ob der Crontab-Dienst normal ist
- Überprüfen Sie, ob der Skriptpfad absolut ist
Die Curl-Anforderungs-URL enthält & und die Anforderung schlägt fehl
Wenn die URL in einer Curl-Anfrage mehrere Parameter enthält, muss sie in einfache Anführungszeichen gesetzt werden. Andernfalls wird die Anfrage abgeschnitten. Setzen Sie den Inhalt der URL einfach in einfache Anführungszeichen.
Drei Möglichkeiten zum Öffnen von Webseiten über die Befehlszeile in Ubuntu
Die erste Methode verknüpft den Befehl
apt install links links 'https://uzbox.com'
Die zweite Methode ist der Befehl w3m
apt install w3m w3m 'https://uzbox.com'
Die dritte Methode ist der Lynx-Befehl
apt install lynx lynx 'https://uzbox.com'