SSH - Geplante Aufgaben

Procédure

SSH - Geplante Aufgaben

Ein Großteil der Systemadministration kann über Perl-Skripte automatisiert werden, oder über Shell-Skripte, die in regelmäßigen Abständen ausgeführt werden. Sie könnten zum Beispiel ein Skript haben, das überprüft, ob Ihre Festplatte voll ist, und das einmal pro Stunde läuft, um Sie zu informieren, wenn es Probleme gibt. Der gängigste Mechanismus für die Programmierung von Befehlen auf Linux-Systemen wird über das Paket cron ausgeführt.

In Debian ist das Paket cron Teil des Basissystems und wird standardmäßig ausgeführt.

Cron, wird mit Debian ausgeliefert und dient zwei Zwecken:

  • Um Systemaufgaben pro Tag / Woche / Monat laufen zu lassen.

  • Um es den Benutzern zu ermöglichen, ihre eigenen geplanten Aufgaben zu konfigurieren.


Das Cron-Paket erstellt automatisch die folgenden Verzeichnisse:

/etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly.


Abgesehen vom ersten, das etwas Besonderes ist, können Sie mit diesen Verzeichnissen auf grobe Weise Aufgaben für das gesamte System planen. Jedes Skript, das in ihnen platziert wird, läuft in der Häufigkeit, die sein Name suggeriert.

Wenn Sie z. B. ein Skript in /etc/cron.daily ablegen, wird es einmal täglich ausgeführt.

Diese Verzeichnisse sind in einigen Fällen nützlich, aber wenn Sie die Ausführungszeiten weiter anpassen müssen, können Sie dies tun, indem Sie die Datei /etc/crontab bearbeiten, die wir als nächstes erklären werden:

Der normale Weg, auf dem die Leute cron verwenden, ist über den Befehl crontab. Damit können Sie Ihre crontab-Datei sehen oder bearbeiten, die eine benutzerspezifische Datei ist, die Einträge enthält, die beschreiben, welche Befehle ausgeführt werden sollen und wie lange es dauert, bis sie ausgeführt werden.

Um Ihre Datei zu zeigen, führen Sie den folgenden Befehl aus:

crontab -l


Der Benutzer root kann die crontab-Datei eines beliebigen Benutzers anzeigen, indem er -u username hinzufügt, z. B. :

crontab -u benutzer -l


Das Format dieser Dateien ist recht einfach zu verstehen. Jede Zeile ist eine Sammlung von sechs Feldern, die durch Leerzeichen getrennt sind.

Die Felder sind :

  1. Die Zahl der Minuten nach der Uhrzeit (0 bis 59).

  2. Die Stunde in militärischer Zeit (24 Stunden) Format (0 bis 23).

  3. Der Tag des Monats (1 bis 31).

  4. Der Monat (1 bis 12).

  5. Der Tag der Woche (0 oder 7).

  6. Der Befehl zum Ausführen.


Sie würden so aussehen:

* * * * Befehl zum Ausführen - - - - | | | | | | | | +-----> Wochentag (0-7) | | | +-----------> Der Monat (1 - 12) | | +-----------------> Der Tag des Monats (1 - 31) | +-----------------------> Die Stunde (0 - 23) +-----------------------------> Minuten (0 - 59).

(Jedes der ersten fünf Felder enthält nur Zahlen, aber sie können als * belassen werden, um zu bezeichnen, dass jeder Wert akzeptabel ist).


Nachdem wir nun die Struktur gesehen haben, sollten wir versuchen, zwei oder drei Beispiele auszuführen:

Bearbeiten Sie Ihre crontab-Datei :

crontab -e


Dies wird Ihren Standardeditor auf Ihrer crontab-Datei starten (ihn ggf. erstellen). Wenn Sie die Datei speichern und Ihren Editor verlassen, wird Ihre crontab im System installiert, sofern sie keine Fehler aufweist.

Der Standardeditor ist nano

Geben Sie den folgenden Text ein:

0 * * * * * /bin/ls > /var/log/ls.log


Wenn Sie die Datei gespeichert und Ihren Editor verlassen haben, sehen Sie eine Meldung wie :

crontab: installing new crontab


Sie können mit überprüfen, ob die Datei das enthält, was Sie erwarten:

crontab -l


Hier haben wir Cron angewiesen, den Befehl /bin/ls auszuführen und die Ausgabe des Befehls jedes Mal, wenn die Minute 0 ist, in die Datei /var/log/ls.log umzuleiten, d. h., er wird den Befehl stündlich ausführen, jede Stunde.

Weitere Beispiele:

Führen Sie den Befehl "Nacht" zehn Minuten nach Mitternacht aus, jeden Tag.

10 0 * * * * /bin/nacht


Führen Sie den Befehl "Montag" jeden Montag um 2 Uhr morgens aus.

0 2 * * 1 /usr/local/bin/lundi


Wenn Sie etwas sehr regelmäßig laufen lassen wollen, können Sie eine andere Syntax verwenden: Anstatt nur die Zahlen zu verwenden, können Sie auch Bereiche oder Sätze verwenden.

Eine Reihe von Zahlen gibt an, dass jeder Punkt in diesem Bereich verfügbar sein wird. Wenn Sie die folgende Zeile verwenden, führen Sie einen Befehl um 1 Uhr, 2 Uhr, 3 Uhr und 4 Uhr aus:

* 1-4 * * * /bin/command


Ein Satz ist ähnlich, bestehend aus einer Reihe von Zahlen, die durch Kommata getrennt sind, wobei jedes Element der Liste gepaart wird. Das vorherige Beispiel sieht unter Verwendung von Reihen wie folgt aus:

* 1,2,3,4 * * * /bin/command

help.lws.net/a/442
War dieser Artikel hilfreich?

Ja

Nicht

24 067 Mal gelesen

Vielen Dank! Stellen Sie gerne Fragen zu unserer Dokumentation, wenn Sie weitere Informationen wünschen, und helfen Sie uns, sie zu verbessern.

Ähnliche Artikel

Eine Frage zu diesem Artikel?

Stellen Sie sie dem LWS-Team und der Community. Die Antwort wird nach Moderation veröffentlicht.

Stellen Sie eine Frage an das LWS-Team und seine Gemeinschaft

DSGVO: Verantwortlicher: LWS-Ligne Web Services. Zweck: Moderation und öffentliche Veröffentlichung Ihrer Frage, gegebenenfalls Benachrichtigung über eine Antwort. Rechtsgrundlage: Einwilligung (Art. 6 Abs. 1 lit. a DSGVO). Speicherdauer der E-Mail-Adressen: 90 Tage nach der Benachrichtigung, höchstens 12 Monate ohne Antwort. Zur Ausübung Ihrer Rechte siehe den DSGVO-Abschnitt unserer AGB.