Frage Wie erstellt man einen Cron-Job, der am ersten Tag des Monats ausgeführt wird [Duplizieren]


Diese Frage hat hier bereits eine Antwort:

Auf dem Bedienfeld meines Servers befinden sich Felder wie diese

Minute - Stunde - Tag des Monats - Monat - Wochentag - Befehl

Wie kann ich einen Cron-Job erstellen, der am ersten Tag des Monats mit diesen Feldern ausgeführt wird?


60
2017-11-23 17:27


Ursprung


Ist es eine PHP-Frage oder eine Unix-Cronjob-Frage? - powtac
Entschuldigung für das PHP-Tag!
RTFM, Mann 5 crontab in diesem Fall - reinierpost
müde  müde  müde - kolypto


Antworten:


Dadurch wird am ersten jeden Monats um 12:00 Uhr der Befehl foo ausgeführt

0 0 1 * * /usr/bin/foo

In diesem Artikel werden die verschiedenen Felder beschrieben, siehe unten auf der Seite: http://en.wikipedia.org/wiki/Cron

Um dies zu Ihrer Cron-Datei hinzuzufügen, verwenden Sie einfach den Befehl

crontab -e

109
2017-11-23 17:39



das sieht gut aus, denke ich
kann ich * statt 0 eingeben?
Wenn Sie * anstelle der ersten Null eingeben, wird jede Minute des ersten Tages des Monats ausgeführt. Wenn Sie * für die zweite Null eingeben, wird jede Stunde am ersten Tag des Monats ausgeführt. * Für beide würde an diesem Tag jede Minute jeder Stunde laufen.
Gemäß dieser Wikipedia-Seite werden das dritte und fünfte Feld als OR-Klauseln der Laufbedingung behandelt, und die richtige Syntax sollte lauten 0 0 1 * ? obwohl mein Vixie Cron auf Ubuntu 14 LTS sie ablehnt - Marco Marsala
Sei vorsichtig beim Laufen crontab -e weil es den Cron gemäß dem aktuellen Benutzer als Crontab-Befehl schreibt. - Francesco


benutze folgendes:

@monthly     /home/user/backup.sh

Mehr Informationen:


13
2017-09-24 19:32





Will / usr / bin / foo um 12:10 Uhr auf der erster Tag des Monats.

10 0 1 * * /usr/bin/foo

Wird um 3:10 Uhr / usr / bin / foo laufen jeden Tag.

10 3 * * * /usr/bin/foo

Sehen http://www.scrounge.org/linux/cron.html


updated die Crons, es war ein Copy Paste Fehler, danke Joy Dutta!


5
2017-11-23 17:30



3:10 Uhr ist jeder Tag 10 3 * * * /usr/bin/foo 12:10 Uhr am ersten Tag des Monats ist 10 * 1 * * /usr/bin/foo
@ Joy: Nein, ist es nicht; 10 * 1 * * ist 10 nach der Stunde, jede Stunde, am ersten Tag des Monats. - womble♦
Gemäß dieser Wikipedia-Seite werden das dritte und fünfte Feld als OR-Klauseln der Laufbedingung behandelt, und die richtige Syntax sollte lauten 0 0 1 * ?, obwohl mein Vixie Cron auf Ubuntu 14 LTS sie ablehnt - Marco Marsala
Der Link scheint nicht mehr zu existieren - 030
@ 030 link funktioniert für mich. - powtac


Suchen Sie nach einem Verzeichnis auf Ihrem Server unter /etc/cron.monthly. Wenn das Verzeichnis vorhanden ist, besteht die Wahrscheinlichkeit, dass Ihr System alle ausführbaren Dateien, die es in diesem Ordner findet, monatlich ausführt. Lassen Sie einfach Ihr Skript (oder Symlink) in /etc/cron.monthly. Stellen Sie außerdem sicher, dass Ihr Skript ausführbar ist.


2
2017-11-23 17:36





So etwas wie:

0 0 1 * * command /directory/file.ext

0
2017-11-23 17:31



Was ist das "Befehl" und die 1 ist im Monat des Jahres Ort!
Du kannst mit einem Cron alles machen was du willst, 99% meiner Benutzung war: {TIMESTAMPS} {PHP_PATH} {FILE_PATH} - Andrew G. Johnson
@ Murali: Nein, ist es nicht. - womble♦


Sieh dir das an: Klasse: PHP Cron


-1
2017-11-23 17:38



Beachten Sie, dass es sich bei dieser Frage nicht um PHP handelte - Pere