Bei der Ausführung eines Unix -basiertes Betriebssystem , können Sie bestimmte Programme müssen regelmäßig ausgeführt werden. Log -Dumps , Hauswirtschaft Skripte und andere Wartungsarbeiten Programme funktionieren am besten , wenn sie auf einen engen Zeitplan laufen und es ist leicht zu vergessen, um diese Aufgaben manuell erfolgen . Um diese Aufgaben zu automatisieren , verwenden Systemadministratoren ein Programm namens cron , um wichtige Aufgaben für die regelmäßige Ausführung zu planen. Cron
Die cron -Service ist das Herz des Scheduling-System in Unix - basierten Systemen läuft ständig im Hintergrund . Cron Job ist zweierlei: um das System für " crontab "-Dateien , die erfasste Informationen zu scannen und die Systemuhr zu bestimmen, wann es diese Befehle aktivieren soll überwachen. Sobald die Uhr erreicht die richtige Uhrzeit und das Datum , aktiviert cron den Befehl und führt die geplante Aufgabe.
Crontab Syntax
Crontab Einträge bestehen aus einer Reihe von fünf Zahlen gefolgt durch den geplanten Befehl . Die erste Zahl ist die Minute: 0 bis 59 . Die zweite Zahl ist die Stunde : 0 bis 23 . Die dritte Zahl ist der Tag des Monats: 1 bis 31 . Die vierte Zahl ist der Monat : 1 bis 12 . Die letzte Zahl ist der Tag der Woche für den geplanten Auftrag , wobei 0 für Sonntag und 6 repräsentieren Freitag. Ein Stern in jeder dieser Positionen wird Missachtung dieses Feld , so dass das Skript auf einem anwendbaren Tag laufen . So eine "0 0 *** "-Skript in der Nacht laufen jeden Tag , während eine " 0 0 1 1 * " Skript wird um Mitternacht am 1. Januar laufen , ohne auf den Tag der Woche. Einige Implementierungen erlauben auch Drei-Buchstaben- Bezeichnungen für Tage oder Monate , aber nicht alle Unix -Systeme unterstützen diese Syntax .
Large Systems
Auf großen Systemen mehrere Benutzer haben Zugriff auf die cron -Programm und jeder kann eigene crontab -Datei zu erstellen . In diesen Systemen kompiliert cron alle relevanten Einträge in einer einzigen Aufgabenliste , sie zu erledigen , wie es jeder kommt . Im Falle von Systemen, die mehrere Zeitzonen erstrecken , wird der cron -Prozess ihnen in seiner nativen Zeitzone handhaben , obwohl einige Systeme Benutzern eine Variable , um diesen Prozess Offset gelangen können. Durch Markieren von jedem Auftrag mit einem festgelegten Zeitzone können Anwender Arbeitsplätze nach ihren eigenen Takt statt mit den physischen Standort des zentralen Servers erinnern und ihre eigenen Anpassungen geben .
Anacron
Eines der größten Probleme mit cron ist, dass es funktioniert nur, wenn das System läuft . Wenn ein Benutzer einen Auftrag für den ersten Tag des Jahres , aber das System heruntergefahren ist an diesem Tag, hat cron keine Möglichkeit, diese Aufgabe auszuführen. Die Lösung für Systeme, die nicht bleiben up full -time ist die anacron Programm . Anacron funktioniert ähnlich wie cron , aber es kann Verfolgung des täglichen Aufgaben zu behalten , dass das System aufgrund von Ausfallzeiten übersprungen und führen sie bei der ersten sich bietenden Gelegenheit.