Cron
![]() Beispiel Verwendung von cron Dienstprogramm | |
Entwickler (en) | AT & T Bell Laboratories |
---|---|
Erstveröffentlichung | Mai 1975 |
Geschrieben in | C |
Betriebssystem | Unix und Unix-artig, Plan 9, Inferno |
Typ | Job Scheduler |
Das Cron
Befehlszeilen-Dienstprogramm ist a Job Scheduler an Unix-artig Betriebssysteme. Benutzer, die Softwareumgebungen einrichten und pflegen, verwenden Cron, um Jobs zu planen[1] (Befehle oder Shell -Skripte), auch bekannt als Zeitgesteuerte Aufgaben,[2][3] regelmäßig zu festen Zeiten, Daten oder Intervallen laufen.[4] Es automatisiert in der Regel die Systemwartung oder -verwaltung Internet und Herunterladen Email in regelmäßigen Abständen.[5]
Cron eignet sich am besten für wiederholte Aufgaben. Die Planung von einmaligen Aufgaben kann mithilfe der zugehörigen erledigt werden bei Dienstprogramm.
Der Name des Crons stammt aus Chronos, dem griechischen Wort für die Zeit.[6]
Überblick
Die Handlungen von Cron werden von a angetrieben Crontab (Cron Table) -Datei, eine Konfigurationsdatei, die angibt Hülse Befehle, die regelmäßig nach einem bestimmten Zeitplan ausgeführt werden können. Die Crontab -Dateien werden gespeichert, in denen die Listen der Jobs und andere Anweisungen an den Cron Dämon werden aufbewahrt. Benutzer können ihre eigenen einzelnen Crontab-Dateien haben und häufig gibt es eine systemweite Crontab-Datei (normalerweise in /etc
oder ein Unterverzeichnis von /etc
z.B. /etc/cron.d
) dass nur Systemadministratoren bearbeiten können.[Anmerkung 1]
Jede Zeile einer Crontab -Datei stellt einen Job dar und sieht so aus:
# ┌─────AS sondern ches ─ Rot (0 - 59) # │ ┌wort ────schung " ────schung " │ │ # * * * * * <Befehl zum Ausführen>
Die Syntax jeder Zeile erwartet einen Cron -Ausdruck aus fünf Feldern, die die Zeit für die Ausführung des Befehls darstellen, gefolgt von einem Shell -Befehl zur Ausführung.
Normalerweise wird der Job ausgeführt, wenn die Zeit-/Datumsspezifikationsfelder alle aktuellen Uhrzeit und Datum übereinstimmen, es gibt eine Ausnahme: Wenn sowohl "Tag des Monats" (Feld 3) als auch "Tag der Woche" (Feld 5) eingeschränkt sind (eingeschränkt (Feld 5) (Feld 3) und "Tag der Woche" sind (Feld 5) (Feld 3) und "Tag des Monats" (Feld 3) und "Tag der Woche" (Feld 5) (Feld 5) (Feld 5) (Feld 5) eingeschränkt (eingeschränkt ( Nicht "*"), dann muss einer oder beide mit dem aktuellen Tag übereinstimmen.[7]
Beispielsweise löscht das Folgende das Apache -Fehlerprotokoll um Mitternacht (00:01) jeden Tag, vorausgesetzt, die Standardschale für den Cron -Benutzer ist Bourne Shell konform:
1 0 * * * printf "" " >/var/log/apache/error_log
In diesem Beispiel wird jeden Samstag ein Shell -Programm namens Export_Dump.sh um 23:45 Uhr (23:45 Uhr) ausgeführt.
45 23 * * 6 /home/oracle/scripts/export_dump.sh
Hinweis: Auf einigen Systemen ist es auch möglich */n
für jeden laufen n-D -Zeitintervall. Außerdem kann die Angabe mehrerer spezifischer Zeitintervalle mit Kommas durchgeführt werden (z. B.,, 1,2,3
). Die folgende würde "Hello World" in jeder 5. Minute jeder ersten, zweiten und dritten Stunde in die Befehlszeile ausgeben (d. H. 01:00, 01:05, 01:10, bis 03:55).
*/5 1, 2,3 * * * Echo Hallo Welt
Die Konfigurationsdatei für einen Benutzer kann durch Anrufe bearbeitet werden Crontab -e
Unabhängig davon, wo die tatsächliche Implementierung diese Datei speichert.
Etwas Cron
Implementierungen wie die beliebten 4. BSD Edition geschrieben von Paul Vixie und in vielen Linux -Verteilungen enthalten, fügen Sie ein sechstes Feld hinzu: einen Konto -Benutzernamen, der den angegebenen Job ausführt (vorbehaltlich der Existenz von Benutzer und Berechtigungen). Dies ist nur im System Crontabs zulässig - nicht in anderen, die jeweils einem einzelnen Benutzer zugeordnet sind, um zu konfigurieren. Das sechste Feld wird alternativ manchmal für verwendet Jahr Anstelle eines Account -Benutzernamens - der nncron -Daemon für Windows tut dies.
Die Amazon EventBridge-Implementierung von Cron verwendet keinen 0-basierten Wochentag, stattdessen 1-7 Sonnen-SAT (anstelle von 0-6) und unterstützt zusätzliche Ausdrucksfunktionen wie den ersten Wochenag und am letzten Tag des letzten Tages -Monat. [8]
Nicht standardmäßige vordefinierte Planungsdefinitionen
Einige Cron -Implementierungen[9] Unterstützen Sie die folgenden nicht standardmäßigen Makros:
Eintrag | Beschreibung | Gleichwertig |
---|---|---|
@jährlich (oder @jährlich )) | Laufen Sie einmal im Jahr um Mitternacht des 1. Januar | 0 0 1 1 * * |
@monatlich | Laufen Sie einmal im Monat um Mitternacht des ersten Tages des Monats | 0 0 1 * * * * |
@wöchentlich | Laufen Sie am Sonntagmorgen einmal pro Woche um Mitternacht | 0 0 * * 0 0 |
@Täglich (oder @Mitternacht )) | Laufen Sie einmal am Tag um Mitternacht | 0 0 * * * * * |
@stündlich | Laufen Sie zu Beginn der Stunde einmal pro Stunde | 0 * * * * * |
@REAT | Laufen beim Start | - |
@REAT
Konfigurieren Sie einen Job, der einmal ausgeführt werden soll, wenn der Daemon gestartet wird. Da Cron normalerweise nie neu gestartet wird, entspricht dies typischerweise der Booted der Maschine. Dieses Verhalten wird in einigen Variationen von Cron durchgesetzt, wie z. B. das in Debian,[10] Damit einfach der Dämon einfach neu startet @REAT
Arbeitsplätze.
@REAT
kann nützlich sein, wenn unter einem bestimmten Benutzer einen Server oder ein Daemon einsteigt, und der Benutzer hat keinen Zugriff auf Konfiguration drin das Programm starten.
Cron -Berechtigungen
Diese beiden Dateien spielen eine wichtige Rolle:
- /etc/cron.allow - Wenn diese Datei vorhanden ist, muss der Name des Benutzers enthalten, damit dieser Benutzer Cron -Jobs verwenden dürfen.
- /etc/cron.deny - Wenn die Datei cron.allow nicht vorhanden ist, die Datei /etc/cron.deny dann vorhanden ist, dürfen Benutzer nicht in der Datei /etc/cron.deny aufgeführt werden.
Beachten Sie, dass, wenn keine dieser Dateien vorhanden sind, je nach ortsabhängiger Konfigurationsparameter, entweder der Super-Benutzer Cron-Jobs verwenden kann oder alle Benutzer Cron-Jobs verwenden können.
Zeitzonenhandhabung
Die meisten Cron -Implementierungen interpretieren einfach Crontab -Einträge in der Systemzeitzone, unter der der Cron -Daemon ausgeführt wird. Dies kann eine Streitquelle sein, wenn ein großer Multi-Benutzer-Computer in mehreren Zeitzonen Benutzer hat Dst. Somit kann eine Cron -Implementierung als Sonderfall in den Benutzer Crontabs "CRON_TZ = <TEME>" Zeilen des Formulars "CRON_TZ = <Te Zone>" erkannt werden, wodurch nachfolgende Crontab -Einträge relativ zu dieser Zeitzone interpretiert werden.[11]
Geschichte
Frühe Versionen
Der Cron in Version 7 Unix war ein Systemdienst (später als a genannt Dämon) aufgerufen von /etc/rc
Wenn das Betriebssystem den Multi-User-Modus eingegeben hat.[12] Es ist Algorithmus war unkompliziert:
- Lesen
/usr/lib/crontab
[13] - Stellen Sie fest, ob Befehle zum aktuellen Datum und Uhrzeit ausgeführt werden müssen, und führen Sie sie als die aus Superuser, Wurzel.
- Eine Minute schlafen
- Wiederholen Sie von Schritt 1.
Diese Version von Cron war grundlegend und robust, konsumierte aber auch Ressourcen, unabhängig davon, ob sie Arbeiten fand oder nicht. In einem Experiment bei Purdue Universität In den späten 1970er Jahren, um den Service von Cron auf alle 100 Benutzer bei einer Zeit zu verlängern VaxEs wurde festgestellt, dass es zu viel Last auf das System legt.
Multi-User-Fähigkeit
Die nächste Version von Cron mit der Veröffentlichung von UNIX -System v, wurde erstellt, um die Funktionen von Cron auf alle Benutzer eines Unix -Systems, nicht nur des Superusers, zu erweitern. Obwohl dies heute mit den meisten Unix- und Unix-ähnlichen Systemen trivial erscheint, die leistungsstarke Prozessoren und eine kleine Anzahl von Benutzern haben, erforderte es zu dem Zeitpunkt, dass ein neuer Ansatz bei einem One-One erforderlich war.MIPS System mit rund 100 Benutzerkonten.
In der August 1977 -Ausgabe der Kommunikation der ACMW. R. Franta und Kurt Maly veröffentlichten einen Artikel mit dem Titel "Eine effiziente Datenstruktur für den Simulationsereignis", in dem eine Ereigniswarteschlange Datenstruktur für diskrete ereignisgesteuerte Simulationssysteme beschrieben wurde, die "Leistung überlegen, die der von häufig verwendeten einfachen Listen-Listen-Algorithmen überlegen sind", "Leistung überlegen", die demonstrierten, dass sie überlegen sind. , gutes Verhalten bei ungleichmäßigen Zeitverteilungen und schlimmsten Fall Komplexität , "n" ist die Anzahl der Ereignisse in der Warteschlange.
Ein Purdue -Doktorand, Robert Brown, der diesen Artikel überprüfte, erkannte die Parallele zwischen Cron und anerkannt Diskrete Ereignissimulatorenund erstellte eine Implementierung des Franta -Maly Event List Managers (ELM) zur Experimente. Diskrete Ereignissimulatoren laufen in Virtuelle ZeitDie Ereignisse schälen die Ereignis so schnell wie möglich und fördert ihre Vorstellung von "Now" in die geplante Zeit des nächsten Ereignisses. Durch das Ausführen des Ereignissimulators in "Echtzeit" anstelle von virtueller Zeit wurde eine Version von Cron erstellt, die die meiste Zeit beim Schlafen verbrachte und auf die geplante Zeit wartete, um die Aufgabe an der Spitze der Ereignisliste auszuführen.
Das folgende Schuljahr brachte neue Schüler in das Graduiertenprogramm in Purdue ein, darunter Keith Williamson, der sich den Systemen der Systeme in der Informatikabteilung anschloss. Als eine "Aufwärmaufgabe" bat Brown ihn, den Prototypen Cron in einen Produktionsdienst auszuräumen, und dieser Multi-User-Cron wurde Ende 1979 bei Purdue verwendet. Diese Version von Cron ersetzte die vollständig /etc/cron
Das wurde im VAX 11/780 der Informatikabteilung verwendet.
Der von diesem Cron verwendete Algorithmus lautet wie folgt:
- Suchen Sie beim Start nach einer Datei mit dem Namen
.Crontab
in den Heimverzeichnissen aller Kontoinhaber. - Bestimmen Sie für jede gefundene Crontab -Datei das nächste Mal in der Zukunft, dass jeder Befehl ausgeführt wird.
- Platzieren Sie diese Befehle auf die Ereignisliste von Franta -Maly mit ihrer entsprechenden Zeit und ihrem "Fünf -Feld" -Peemierer.
- Geben Sie die Hauptschleife ein:
- Untersuchen Sie den Aufgabeneintrag an der Leiterin der Warteschlange und berechnen Sie, wie weit es in Zukunft ausgeführt werden muss.
- Für diesen Zeitraum schlafen.
- Führen Sie die Aufgabe am Kopf der Warteschlange (im Hintergrund) mit den Berechtigungen des Benutzer, der sie erstellt hat, die Aufgabe an der Spitze der Warteschlange (im Hintergrund) aus.
- Bestimmen Sie das nächste Mal in der Zukunft, um diesen Befehl auszuführen, und platzieren Sie ihn zu diesem Zeitwert wieder in die Ereignisliste.
Zusätzlich reagiert der Daemon auf SEUFZEND Signale an rescan modifizierte Crontab-Dateien und plant spezielle "Wake-up-Ereignisse" in der Stunde und in der halben Stunde, um nach geänderten Crontab-Dateien zu suchen. Hier wird hier viel Details in Bezug auf die Ungenauigkeiten der Verfolgung der Tageszeitung, der Unix-Alarmplanung, der expliziten Tagesänderungen und des Prozessmanagements weggelassen, was den größten Teil der Codezeilen in diesem Cron ausmachen. Dieser Cron hat auch die Ausgabe von erfasst Stdout und Stderr und schickte eine E-Mail an den Crontab-Besitzer.
Die von dieser Cron -Skala verbrauchten Ressourcen nur mit der Arbeit, die sie erteilt wird, und im Laufe der Zeit nicht erhöht, mit Ausnahme der regelmäßigen Überprüfung auf Änderungen.
Williamson absolvierte sein Studium und verließ die Universität mit einem Master of Science in Informatik und schloss sich den At & T Bell Labs in Murray Hill, New Jersey, an und nahm diesen Cron mit. In Bell Labs haben er und andere das integriert Unix bei
Befehl In Cron, bewegte die Crontab-Dateien aus den Home-Verzeichnissen der Benutzer (die nicht hostspezifisch waren) und in ein gemeinsames Host-spezifisches Spulenverzeichnis, und die notwendigerweise fügte das hinzu Crontab
Befehl, mit dem Benutzer ihre Crontabs in dieses Spulenverzeichnis kopieren können.
Diese Version von Cron erschien später weitgehend unverändert in UNIX -System v und in BSD und ihren Derivaten, Solaris aus Sun Microsystems, Irrix aus Siliziumgrafik, HP-UX aus Hewlett Packard, und AIX aus IBM. Technisch gesehen sollte die ursprüngliche Lizenz für diese Implementierungen bei der Purdue Research Foundation sein, die die Arbeit finanzierte. Dies fand jedoch zu einer Zeit statt, in der solche Angelegenheiten wenig Besorgnis gegeben wurden.
Moderne Versionen
Mit dem Aufkommen der GNU -Projekt und LinuxEs erschienen neue Kammern. Am häufigsten ist der Vixie Cron, der ursprünglich codiert von Paul Vixie Im Jahr 1987. Version 3 von Vixie Cron wurde Ende 1993 veröffentlicht. Version 4.1 wurde umbenannt Isc Cron und wurde im Januar 2004 veröffentlicht. Version 3 mit einigen kleinen Fehler wird in den meisten Verteilungen von Linux und BSDs verwendet.
Im Jahr 2007 hat Red Hat Vixie-Cron 4.1 zum Cronie-Projekt gegabelt und eingeschlossen Anacron 2.3 im Jahr 2009.
Andere beliebte Implementierungen umfassen Anacron und Dcron. Anacron ist jedoch kein unabhängiges Cron -Programm. Ein weiterer Cron -Job muss es nennen. DCRON wurde gemacht von Libelle BSD Gründer Matt Dillonund sein Betreuer wurde 2010 von Jim Pryor übernommen.[14]
Im Jahr 2003 stellte Dale Mellor Mcron vor, vor,[15] Eine Cron -Variante geschrieben in List Dies bietet eine Kreuzkompatibilität mit Vixie Cron und bietet gleichzeitig eine größere Flexibilität, da es willkürlich ist planen Code, der für die Planung von Berechnungen und Jobdefinitionen verwendet werden soll. Da sowohl der McRron -Daemon als auch die Crontab -Dateien normalerweise in Schema geschrieben sind (obwohl MCRron auch traditionelle Vixie Crontabs akzeptiert), ist der kumulative Kumulativ Zustand Von der Jobwarteschlange eines Benutzers steht seinem Jobcode zur Verfügung, die möglicherweise ausgeführt werden soll IFF Die Ergebnisse anderer Jobs erfüllen bestimmte Kriterien. Mcron wird standardmäßig unter dem bereitgestellt Guix Paketmanager, der Vorstellungen enthält (Dienstleistungen) für den Paketmanager zu monadisch Mcron Crontabs ausgeben, während beide sicherstellen, dass die für die Ausführung benötigten Pakete installiert sind und dass sich die entsprechenden Crontabs korrekt darauf beziehen.[16]
A Webcron -Lösung Zeitpläne läuten Aufgaben, die regelmäßig ausgeführt werden sollen, wo immer Cron -Implementierungen in a nicht verfügbar sind Web-Hosting Umgebung.
Cron -Ausdruck
Ein Cron -Ausdruck ist eine Schnur, die fünf oder sechs Felder umfasst, die durch Weißraum getrennt sind[17] Dies stellt eine Reihe von Zeiten dar, normalerweise als Zeitplan, um eine Routine auszuführen.
Kommentare beginnen mit einer Kommentarmarkierung #und müssen selbst in einer Zeile sein.
Aufstellen | Erforderlich | Zulässige Werte | Erlaubte Sonderzeichen | Bemerkungen |
---|---|---|---|---|
Protokoll | Ja | 0–59 | * , - | |
Std | Ja | 0–23 | * , - | |
Monatstag | Ja | 1–31 | * , - ? L W | ? L W Nur in einigen Implementierungen |
Monat | Ja | 1–12 oder Jan - Dec | * , - | |
Wochentag | Ja | 0–6 oder Sonne - sat | * , - ? L # | ? L # Nur in einigen Implementierungen |
Jahr | Nein | 1970–2099 | * , - | Dieses Feld wird in Standard-/Standardimplementierungen nicht unterstützt. |
Die Abkürzungen von Monat und Wochentag sind nicht zu sensibel.
Im speziellen Fall der System Crontab -Datei (/etc/crontab), a Benutzer Feld fügt sich vor dem ein Befehl. Es ist im Allgemeinen auf "root" eingestellt.
In einigen Verwendungen des Cron -Formats gibt es auch a Sekunden Feld am Anfang des Musters. In diesem Fall ist der Cron -Ausdruck eine Zeichenfolge, die 6 oder 7 Felder umfasst.[18]
- Komma (
,
) - Kommas werden verwendet, um Elemente einer Liste zu trennen. Zum Beispiel bedeutet die Verwendung von "Mon, Mi, Fr, Fr" im 5. Feld (Tag der Woche) Montag, Mittwoch und freitags.
- Bindestrich (
-
) - Dash definiert Bereiche. Zum Beispiel zeigt 2000–2010 jedes Jahr zwischen 2000 und 2010 inklusive an.
- Prozentual (
%
) - Das prozentuale Signal (%) im Befehl, sofern nicht mit Backslash (\) entkommen, werden in neue Zeilenzeichen geändert, und alle Daten nach dem ersten% werden als Standardeingabe an den Befehl gesendet.[19]
Nicht standardmäßige Charaktere
Das Folgende sind nicht standardmäßige Charaktere und existieren nur in einigen Cron-Implementierungen wie die Quarz Java Scheduler.
L
- 'L' steht für "last". Wenn es im Bereich Tag der Woche verwendet wird, können Konstrukte wie "The Last Friday" ("(" ("(" ("The Last Friday" angegeben werden. 5l") eines bestimmten Monat. Im Bereich des Monats ist es den letzten Tag des Monats festgelegt.
W
- Der 'W' -Charakter ist für das Montentagsfeld zulässig. Dieses Zeichen wird verwendet, um den Wochentag (Montag bis Freitag) am nächsten Tag zu geben. Als Beispiel, wenn " 15W"Wird als Wert für das Monatsagentag angegeben, ist die Bedeutung:" Der nächste Wochentag bis zum 15. des Monats. " Der 15. ist ein Sonntag, der Abzug feuert am Montag, den 16., ab. Wenn der 15. ein Dienstag ist, feuert er am Dienstag, den 15., ab. Ein Samstag, der Auslöser feuert am Montag, den 3., da er nicht über die Grenze der Tage eines Monats springt. Der 'W'-Charakter kann nur angegeben werden oder Liste der Tage.
- Hash (
#
) - '#' ist für das Feld Tag der Woche zulässig und muss von einer Zahl zwischen eins und fünf folgen. Es ermöglicht die Angabe von Konstrukten wie "den zweiten Freitag" eines bestimmten Monat.[20] Wenn Sie beispielsweise "5#3" im Bereich Tag der Woche eingeben, entspricht der dritte Freitag im Monat.
- Fragezeichen (
?
) - In einigen Implementierungen verwendet anstelle von ' *»Für den Tag der Woche (Tag der Woche leer). Andere Cron -Implementierungen ersetzen "?" mit der Startzeit des Cron-Daemons, so dass das
? ? * * * *
würde aktualisiert werden25 8 * * * *
Wenn Cron um 8:25 Uhr anfing und jeden Tag zu diesem Zeitpunkt lief, bis sie wieder neu gestartet wurde.[21]
- Schrägstrich (
/
) - In Vixie-Cron können Schrägstriche mit Bereichen kombiniert werden, um Schrittwerte anzugeben.[9] Zum Beispiel, */5 Im Minutenfeld zeigt alle 5 Minuten an (siehe Hinweis unten über Frequenzen). Es ist eine Abkürzung für die ausführlichere POSIX -Form 5,10,15,20,25,30,35,40,45,50,55,00. POSIX definiert keine Verwendung für Schrägstriche; Seine Begründung (Kommentare zu einer BSD -Erweiterung) stellt fest, dass die Definition auf dem System V -Format basiert, aber die Möglichkeit von Erweiterungen nicht ausschließt.[7]
Beachten Sie, dass Frequenzen im Allgemeinen nicht ausgedrückt werden können; Nur Schrittwerte, die ihren Bereich gleichmäßig teilen, drücken genaue Frequenzen aus (für Minuten und Sekunden, das ist das /2, /3, /4, /5, /6, /10, /12, /15, /20 und /30 Weil 60 durch diese Zahlen gleichmäßig teilbar sind; stundenlang ist das /2, /3, /4, /6, /8 und /12); Alle anderen möglichen "Schritte" und alle anderen Felder liefern am Ende der Zeiteinheit inkonsistente "kurze" Perioden, bevor es auf die nächste Minute, den zweiten oder Tag zurückgesetzt wird. Zum Beispiel wird das Eingeben von */5 für das Tagesfeld manchmal nach 1, 2 oder 3 Tagen ausgeführt, abhängig vom Monat und dem Schaltjahr; Dies liegt daran, dass Cron staatslos ist (er erinnert sich nicht an die Zeit der letzten Ausführung oder zählt den Unterschied zwischen ihm und jetzt, was für eine genaue Frequenzzählung erforderlich ist-stand, Cron ist ein bloßer Musterantrieb).
H
- 'H' wird in der verwendet Jenkins Kontinuierliches Integrationssystem, um anzuzeigen, dass ein "Hashed" -Wert ersetzt wird. Also anstelle einer festen Zahl wie ''
20 * * * *
"Was bedeutet 20 Minuten nach der Stunde pro Stunde"H * * * *
'Zeigt an, dass die Aufgabe jede Stunde zu einer nicht spezifizierten, aber unveränderlichen Zeit für jede Aufgabe ausgeführt wird. Dies ermöglicht die Ausbreitung von Aufgaben im Laufe der Zeit, anstatt alle gleichzeitig zu beginnen und um Ressourcen zu konkurrieren.[22]
Siehe auch
- bei (Befehl)
- Starten
- Liste der UNIX -Befehle
- Planung (Computer)
- systemd - Integriert Cron -Äquivalent (genannt Timer)
- Fcron
- Windows Task Scheduler
Notiz
- ^ Dies hängt von der Art der Verteilung ab.
Verweise
- ^ "Automatisierung mit Cron Job bei CentOS 8". 6. April 2020.
- ^ "Unterschied zwischen Cron, Crontab und Cronjob?". Paketüberfluss.
- ^ "Cron Job: Ein umfassender Leitfaden für Anfänger 2020". 24. Mai 2019.
- ^ "Crontab - Schnelle Referenz". Wahl des Administrators. 21. Dezember 2009.
- ^ "Neuling Einführung in Cron". Unixgeeks.org. Abgerufen 2013-11-06.
- ^ "Linux - Cron und Crontab".
- ^ a b "Crontab", Die offenen Gruppenbasis -Spezifikationen Ausgabe 7 - IEEE STD 1003.1, 2013 Ausgabe, The Open Group, 2013, abgerufen 18. Mai, 2015
- ^ "Ausdrücke für Regeln planen". Amazonas.
- ^ a b "FreeBSD -Dateiformathandbuch für Crontab (5)". Das FreeBSD -Projekt.
- ^ "#77563 - Cron: Crontab (5) Lügen, '@Reboot' ist, wenn Cron neu startet, nicht das System". Debian Bug Tracking -System. Abgerufen 2013-11-06.
- ^ "Crontab (5): Tabellen zum Fahren von Cron - Linux Man Page". Linux.die.net. Abgerufen 2013-11-06.
- ^ Minnies Homepage http://minnie.tuhs.org/cgi-ner/utree.pl?file=v7/etc/rc. Abgerufen 2020-09-12.
{{}}
: Fehlen oder leer|title=
(Hilfe) - ^ Minnies Homepage http://minnie.tuhs.org/cgi-ner/utree.pl?file=v7/usr/src/cmd/cron.c. Abgerufen 2020-09-12.
{{}}
: Fehlen oder leer|title=
(Hilfe) - ^ Pryor, Jim (2010-01-05). "Cron". [email protected] (Mailingliste). Abgerufen 2013-11-06.
- ^ Mellor, Dale (2003-06-01). "McRron - Benutzeranforderungen und Analyse". Abgerufen 2019-06-11.
- ^ "GNU GUIX -Referenzhandbuch: 8.8.2 Geplante Arbeitsplatzausführung". GNU Guix. 2019-05-19. Abgerufen 2019-06-11.
- ^ "Ubuntu Cron Howto". Help.ubuntu.com. 2013-05-04. Abgerufen 2013-11-06.
- ^ "Crontrigger Tutorial". Quartz Scheduler -Website. Archiviert von das Original am 25. Oktober 2011. Abgerufen 24. Oktober 2011.
- ^ "McRron Crontab Referenz". Gnu.org. Abgerufen 2013-11-06.
- ^ "Oracle® Rollenmanager Integration Guide". Docs.oracle.com. Abgerufen 2013-11-06.
- ^ "Cron -Format". nnbackup. Abgerufen 2014-05-27.
- ^ "Timer Triggersyntax". Jenkins.com. Abgerufen 2018-02-16.
Externe Links
- Die einzelne Unix -Spezifikation, Version 4 von Die offene Gruppe : Planen Sie regelmäßige Hintergrundarbeit - Shell and Utilities Referenz,
- Gnu Cron (mcron)
- ISC Cron 4.1
- Cronie
- ACM Digitale Bibliothek - Franta, Maly, "Eine effiziente Datenstruktur für den Simulationsereignissatz" (Benötigt ACM Pubs Abonnement)