Automatisieren Sie Prozesse mit Cron und Crontab in Solaris

Die cron-Einrichtung bietet einen leistungsfähigen Prozess-Scheduler mit Minutenauflösung. Wenn ein Prozess wiederholt ohne menschliches Eingreifen ausgeführt werden muss, kann ein Eintrag in der Crontab-Datei die meisten Zeitpläne berücksichtigen. Es gibt einfache Regeln zum Ändern der Crontab-Einträge, die befolgt werden müssen.


Um die Crontab-Datei zu bearbeiten, muss das Crontab-Programm verwendet werden. Die eigentlichen Crontab-Dateien sollten nicht direkt bearbeitet werden, da der Inhalt zwischengespeichert wird und die Änderungen erst nach einem Neustart des Crond-Prozesses wirksam werden. Wenn Sie das Crontab-Programm zum Bearbeiten der Crontabs verwenden, wird der Cache aktualisiert, wenn die Datei geändert wird. Verwenden Sie zum Bearbeiten der aktuellen Crontab-Datei des Benutzers Folgendes:

Crontab -e

Die Option -e weist das Programm an, eine Kopie der Crontab-Datei des Benutzers zu bearbeiten. Die EDITOR-Umgebungsvariable wird referenziert, um zu bestimmen, welcher Editor verwendet werden soll (Standardeinstellung ist ed). Informationen zum Festlegen dieser Umgebungsvariablen finden Sie unter Rezepte für ksh und sh.

Der Superuser kann die crontab eines bestimmten Benutzers bearbeiten, indem er den Benutzernamen am Ende dieses Befehls hinzufügt. Die von der crontab eines Benutzers ausgeführten Prozesse werden als dieser Benutzer ausgeführt. Seien Sie vorsichtig mit Befehlen in der crontab-Datei von root, da diese als root ausgeführt werden und Probleme verursachen können. Wenn Shell-Skripts von der crontab von root aus ausgeführt werden, stellen Sie sicher, dass ihre Dateiberechtigungen nur von root geändert werden dürfen.

Die Syntax von Crontab ist einfach. Jede Zeile steht für eine einzelne geplante Aufgabe. Die ersten fünf Felder stellen Zeitinformationen dar und alles, was folgt, wird als Befehl zum Planen interpretiert. Die Zeitfelder in der Reihenfolge lauten wie folgt:

Minuten - 0-59
Stunden - 0-23
Tage des Monats - 1-31
Monate des Jahres - 1-12
Wochentage - 0-6 (Sonntag-Samstag)

Für jedes Feld gibt es verschiedene Optionen. Ein Stern (*) zeigt alle möglichen Vorkommen für dieses Feld an. Eine Zahl legt dieses einzelne Vorkommen fest. Zwei durch ein - getrennte Zahlen geben einen Wertebereich an, und durch ein Komma getrennte Zahlen geben eine Liste der Vorkommen an.

Hier einige Beispiele:

15 * * * * logcheck
Führt alle 15 Minuten eines Tages einen Befehl mit dem Namen 'logcheck' aus.

0,15,30,45 8-17 * * 1-5 Dobackup
Dauert alle 15 Minuten (d. H. 8:00, 8:15, 8:30 und 8:45 Uhr) während der Geschäftszeiten (von 8:00 bis 17:00 Uhr) an Werktagen (Montag bis Freitag).