Ein Daemon in Linux aufgerufen Cron führt Prozesse in regelmäßigen Abständen aus. Es überprüft bestimmte Ordner auf Ihrem System, ob Skripts in einer Reihe von Ordnern ausgeführt werden können, darunter /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly und /etc/cron.monthly. Es gibt auch eine Datei namens / etc / crontab.
Skripts in Cron-Ordner einfügen
Sie können Skripts einfach in die entsprechenden Ordner legen, damit diese regelmäßig ausgeführt werden.
Öffnen Sie beispielsweise ein Terminalfenster und führen Sie den folgenden ls-Befehl aus:
ls / etc / cron *
Sie sehen die Liste der Programme oder Skripts, die stündlich, täglich, wöchentlich und monatlich ausgeführt werden.
Das Problem bei diesen Ordnern ist, dass sie etwas vage sind. Zum Beispiel, Täglich bedeutet, dass das Skript einmal täglich ausgeführt wird, Sie haben jedoch keine Kontrolle über die Zeit, zu der das Skript an diesem Tag ausgeführt wird.
Hier kommt die Crontab-Datei ins Spiel.
Durch Bearbeiten der Crontab-Datei können Sie ein Skript oder ein Programm zum genauen Datum und zu der Uhrzeit ausführen, zu der es ausgeführt werden soll.
Berechtigungen
Der Befehl crontab setzt voraus, dass ein Benutzer über Berechtigungen zum Bearbeiten einer Crontab-Datei verfügt. Es gibt grundsätzlich zwei Dateien, die zum Verwalten von Crontab-Berechtigungen verwendet werden:
- /etc/cron.allow
- /etc/cron.deny
Wenn die Datei /etc/cron.allow vorhanden ist, muss sich der Benutzer, der die Crontab-Datei bearbeiten möchte, in dieser Datei befinden. Wenn die Datei cron.allow nicht vorhanden ist, es sich jedoch um eine Datei /etc/cron.deny handelt, darf der Benutzer in dieser Datei nicht vorhanden sein. Wenn beide Dateien vorhanden sind, überschreibt die Datei /etc/cron.allow die Datei /etc/cron.deny. Wenn keine Datei vorhanden ist, hängt es von der Systemkonfiguration ab, ob ein Benutzer die Crontab bearbeiten kann.
Der Root-Benutzer kann die Crontab-Datei jederzeit bearbeiten. Sie können entweder den Befehl su verwenden, um zum Root-Benutzer zu wechseln, oder den Befehl sudo, um den Befehl crontab auszuführen.
Bearbeiten der Crontab-Datei
Jeder Benutzer mit den entsprechenden Berechtigungen kann eine eigene Crontab-Datei erstellen. Der cron-Befehl sucht grundsätzlich nach allen crontab-Dateien und führt sie durch.
Um zu prüfen, ob Sie eine Crontab-Datei haben, führen Sie den folgenden Befehl aus:
Crontab -l
Wenn Sie keine Crontab-Datei haben, wird die Meldung "Kein Crontab für" angezeigt Führen Sie den folgenden Befehl aus, um eine Crontab-Datei zu erstellen oder zu bearbeiten: Crontab -e Die Datei, die geöffnet wird, enthält viele Informationen, aber der Schlüsselteil ist das Beispiel unmittelbar vor dem Ende des Kommentarbereichs (Kommentare sind durch Zeilen gekennzeichnet, die mit # beginnen). # m h dom mon dow-Befehl 0 5 * * 1 tar -zcf /var/backups/home.tgz / home / Es gibt 6 Informationen, die in jede Zeile der Crontab-Datei passen: Für jedes Element (außer für den Befehl) können Sie ein Platzhalterzeichen angeben. Schauen Sie sich die folgende Beispiel-Crontab-Zeile an: 30 18 * * * tar -zcf /var/backups/home.tgz / home / Bei 30 Minuten, 18 Stunden und an jedem Tag, Monat und Wochentag verschlüsselt und kopiert dieser Crontab-Eintrag das Basisverzeichnis in den Ordner / var / backups. Führen Sie den folgenden Befehl aus, um einen Befehl zu erhalten, der jede Stunde nach 30 Minuten ausgeführt wird: 30 * * * * Befehl Führen Sie den folgenden Befehl aus, um einen Befehl zu erhalten, der jede Minute nach 18.00 Uhr ausgeführt wird: * 18 * * * Befehl Sie müssen daher beim Einrichten Ihrer Crontab-Befehle vorsichtig sein. Zum Beispiel: * * * 1 * Befehl Dieser Befehl wird jede Minute zu jeder vollen Stunde im Januar ausgeführt. Um einen Befehl am 1. Januar um 5 Uhr morgens auszuführen, würden Sie den folgenden Befehl in die Crontab-Datei eingeben: In den meisten Fällen möchten Sie die Crontab-Datei nicht entfernen. Möglicherweise möchten Sie jedoch einige Zeilen aus der Crontab-Datei entfernen. Wenn Sie jedoch die Crontab-Datei Ihres Benutzers entfernen möchten, führen Sie den folgenden Befehl aus: Crontab -r Eine sicherere Methode ist, den folgenden Befehl auszuführen: Crontab -i Das Betriebssystem fordert eine Überprüfung an, bevor die Crontab-Datei entfernt wird.
So entfernen Sie eine Crontab-Datei