Frage Was bedeutet * * * * * (fünf Sternchen) in einer Cron-Datei? [Duplikat]


Diese Frage hat hier bereits eine Antwort:

Die erste Zeile ohne Kommentar in einer älteren Crontab-Datei beginnt mit fünf Sternchen:

* * * * * ([a_command]) >/dev/null 2>&1

Die Autoren sind weg, also kenne ich ihre nicht Absicht. Was bedeuten All-Wildcards für (Solaris 8) cron?  Das Wetten hier wird entweder einmal ausgeführt, läuft kontinuierlich oder läuft nie, was leider breit ist.

Wenn Sie sich über die vorangehende Kommentarzeile wundern, lautet sie "Nicht löschen".

Hinweis: Diese Cron-Datei ist Arbeiten. Diese Frage ist nicht ein Duplikat einer Frage zu beschädigten Cron-Dateien oder Cron-Dateien, die eine Fehlerbehebung erfordern.


45
2017-07-20 21:15


Ursprung


Noch etwas zu beachten, da es mich vor Kurzem bei der Arbeit schwer gestolen hat: Die> / dev / null 2> & 1-Sektion liefert alle Ausgaben von STDOUT und STDERR an / dev / null. Der Grund dafür ist: Wenn Sie dies nicht tun, wird die Ausgabe des Programms, das in crontab aufgerufen wird, an das lokale Postfach des Benutzers gesendet. Bevor ich das wusste, füllte ich eine Festplatte auf einem Produktionsserver aus einem Skript, das alle zwei Minuten ausgeführt wurde. - Luke has no name
Danke, Luke hat keinen Namen; Ich hatte es falsch verstanden. - Thomas L Holaday
Es sieht so aus, als ob es für mich geeignet ist. Die Antwort erklärt, wie crontab funktioniert, und wie es erklärt, würde dies einmal pro Minute laufen. Die Markierung als Duplikat soll Ihre Frage nicht abwerten, sondern die häufig gestellten Fragen zu Cron und deren Antworten an einem einzigen Ort sammeln. - Michael Hampton♦


Antworten:


Jede Minute an jedem Tag jeder Woche eines jeden Monats läuft dieser Befehl.

man 5 crontab hat die Dokumentation dazu. Wenn Sie nur tippen man crontab, Sie erhalten die Dokumentation für die Crontab Befehl. Was Sie wollen, ist Abschnitt 5 der Handbuchseiten, die Systemkonfigurationsdateien einschließlich der /etc/crontab Datei. Zur späteren Bezugnahme sind die Abschnitte in beschrieben man man:

   1   Executable programs or shell commands
   2   System calls (functions provided by the kernel)
   3   Library calls (functions within program libraries)
   4   Special files (usually found in /dev)
   5   File formats and conventions eg /etc/passwd
   6   Games
   7   Miscellaneous  (including  macro  packages and conven‐
       tions), e.g. man(7), groff(7)
   8   System administration commands (usually only for root)
   9   Kernel routines [Non standard]

47
2017-07-20 21:17



Das ist die wörtliche Bedeutung; Ich war besorgt, dass es sich um einen Sonderfall handeln könnte. Danke für die Zusicherung. - Thomas L Holaday
+1 für die Antwort, -1 für die man cron Kommentar. man Seiten sind notorisch schwer zu lesen und zu verstehen für den Anfänger - deshalb kommen die Leute hierher, um das zu haben man Seiten erklärt ihnen. - Mark Henderson♦
Total, weil es hätte sein sollen man 5 crontab. Diese Manpage ist spezifischer und sehr einfach zu verstehen. Sehen: linux.die.net/man/5/contab - Warner
Das ist in Ordnung, vorausgesetzt, der Benutzer ist sich bewusst, dass die 5 sogar relevant ist. Die meisten Neu- oder Teilzeit-Linux-Benutzer wissen nicht, welche Nummer, wenn überhaupt, für den Zugriff auf man-Seiten verwendet werden soll. - John Gardeniers
@ John, um deinen Punkt zu beweisen, als jemand, der nur in * nix eintaucht, wenn ich den gelegentlichen Apache-Server neu starten muss, war mir nicht einmal bewusst, dass du ein tun könntest man 5 und ich habe keine Ahnung, was passieren würde, wenn ich ... - Mark Henderson♦


* = immer. Es ist ein Platzhalter für jeden Teil des Cron-Zeitplanausdrucks.

So * * * * * meint every minute von every hour von every day von every month und every day des week.

 * * * * *  command to execute
 ┬ ┬ ┬ ┬ ┬
 │ │ │ │ │
 │ │ │ │ │
 │ │ │ │ └───── day of week (0 - 7) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
 │ │ │ └────────── month (1 - 12)
 │ │ └─────────────── day of month (1 - 31)
 │ └──────────────────── hour (0 - 23)
 └───────────────────────── min (0 - 59)

Die schöne Zeichnung oben wird von Wikipedia

Ein anderes Beispiel:

0 * * * * Das bedeutet, dass der Cron immer laufen wird, wenn die Minuten abgelaufen sind 0 (so stündlich)
0 1 * * * - Das bedeutet, dass der Cron immer um 1 Uhr läuft.
* 1 * * * - Das bedeutet, dass der Cron jede Minute läuft, wenn die Stunde 1 ist 1:00, 1:01, ...1:59.


26
2018-06-04 07:38



Mann, der mir jetzt wirklich Sinn macht. Danke für die Erklärung. - Vishal
Ist nicht die sechste Spalte für den Benutzernamen, mit dem der Befehl ausgeführt wird? Ich habe mich immer gewundert, wie cron den Befehl vom Benutzer unterscheidet, wenn dazwischen Platz ist, wie * * * * * php /var/myscript.php - Wie Cron weiß, wenn php ist ein Teil des Befehls und kein Benutzername? - JustAMartin


First star = Minutes: 0-59
Second star = Hours: 0-23
Third star = Day of Month: 0 - 31
Fourth star = Month: 0 - 12
Fifth star = Day of Week: 0 - 6 (0 means sunday)

Angenommen, Sie möchten jeden 1. eines jeden Monats etwas unternehmen.

0 0 1 * * something.sh

8
2017-07-20 21:22



Das bedeutet, am 1. eines jeden Monats jede Minute eine Minute lang zu laufen (das wären 1440 Mal am Tag 1). - Kevin Brock
Oh ja, lass mich das bearbeiten. - Michael Burns