Comment exécuter le travail crontab chaque semaine le dimanche
263
J'essaie de comprendre comment exécuter un travail crontab chaque semaine le dimanche. Je pense que ce qui suit devrait fonctionner, mais je ne suis pas sûr de bien comprendre. Est-ce que ce qui suit est correct?
# 1. Entry: Minute when the process will be started [0-60]
# 2. Entry: Hour when the process will be started [0-23]
# 3. Entry: Day of the month when the process will be started [1-28/29/30/31]
# 4. Entry: Month of the year when the process will be started [1-12]
# 5. Entry: Weekday when the process will be started [0-6] [0 is Sunday]
#
# all x min = */x
Donc, selon cela, vous 5 8 * * 0feriez 8 h 05 tous les dimanches.
Pour être plus lisible, vous pouvez en utiliser un sun, mon, tue, wed, thu, fri, or satpour la journée. Cela vous évite également d'avoir à choisir entre utiliser 0ou 7pour dimanche.
grippe
193
Pour faire exécuter un cron dimanche, vous pouvez utiliser l'un des deux:
5 8 * * 0
5 8 * * 7
5 8 * * Sun
Où 5 8se situe l'heure de la journée où cela se produira: 8h05.
En général, si vous voulez exécuter quelque chose le dimanche, assurez-vous simplement que la 5e colonne contient soit 0, 7soit Sun. Vous l'avez fait 6, donc ça fonctionnait samedi.
Le format des cronjobs est le suivant:
+---------------- minute (0 - 59)
| +------------- hour (0 - 23)
| | +---------- day of month (1 - 31)
| | | +------- month (1 - 12)
| | | | +---- day of week (0 - 6) (Sunday=0 or 7)
| | | | |
* * * * * command to be executed
Vous pouvez toujours utiliser crontab.guru comme éditeur pour vérifier vos expressions cron.
Juste pour aider les autres à éviter l'erreur stupide que je viens de faire et assurez-vous de régler la minute sur autre chose que * ou elle s'exécutera à chaque minute de cette heure!
user2924019
40
Voici le format du fichier crontab.
{minute} {heure} {jour du mois} {mois} {jour de semaine} {utilisateur} {path-to-shell-script}
Donc, pour courir chaque dimanche à minuit (le dimanche est 0 habituellement, 7 dans certains cas rares):
Vote pour mentionner comment spécifier la commande à exécuter à chaque fois. (La colonne utilisateur, cependant, doit être omise lors de l'édition via la commande "crontab".)
Joachim Wagner
1
Dimanche minuit est l'heure 0 du lundi, c'est-à-dire 0 0 * * 1.
Fred Loney
5
Lorsque vous spécifiez vos valeurs cron, vous devez vous assurer que vos valeurs se situent dans les plages. Par exemple, certains crons utilisent une plage de 0 à 7 pour le jour de la semaine où 0 et 7 représentent dimanche. Nous ne le faisons pas (vérifiez ci-dessous).
Seconds: 0-59
Minutes: 0-59
Hours: 0-23
Day of Month: 1-31
Months: 0-11
Day of Week: 0-6
Position 1 for minutes, allowed values are 1-60
position 2 for hours, allowed values are 1-24
position 3 for day of month ,allowed values are 1-31
position 4 for month ,allowed values are 1-12
position 5 for day of week ,allowed values are 1-7 or and the day starts at Monday.
Félicitations pour votre première réponse sur StackOverflow! Veuillez vous assurer de consulter le Guide de réponse . Par exemple, la réponse doit généralement contenir de nouvelles informations qui manquent dans les réponses existantes.
doz10us
7
cela fonctionnera 24 fois le dimanche, 10 minutes après l'heure toutes les heures.
Jens Timmerman
0
@ travail hebdomadaire mieux pour moi!
example,add the fellowing crontab -e ,it will work in every sunday 0:00 AM
@weekly /root/fd/databasebackup/week.sh >> ~/test.txt
* * * * 0
you can use above cron job to run on every week on sunday, but in addition on what time you want to run this job for that you can follow below concept :
* * * * * Command_to_execute
- � � � -
| | | | |
| | | | +�� Day of week (0�6) (Sunday=0) or Sun, Mon, Tue,...
| | | +���- Month (1�12) or Jan, Feb,...
| | +����-� Day of month (1�31)
| +������� Hour (0�23)
+��������- Minute (0�59)
Réponses:
Voici une explication du format crontab.
Donc, selon cela, vous
5 8 * * 0
feriez 8 h 05 tous les dimanches.la source
sun, mon, tue, wed, thu, fri, or sat
pour la journée. Cela vous évite également d'avoir à choisir entre utiliser0
ou7
pour dimanche.Pour faire exécuter un cron dimanche, vous pouvez utiliser l'un des deux:
Où
5 8
se situe l'heure de la journée où cela se produira: 8h05.En général, si vous voulez exécuter quelque chose le dimanche, assurez-vous simplement que la 5e colonne contient soit
0
,7
soitSun
. Vous l'avez fait6
, donc ça fonctionnait samedi.Le format des cronjobs est le suivant:
Vous pouvez toujours utiliser crontab.guru comme éditeur pour vérifier vos expressions cron.
la source
Voici le format du fichier crontab.
{minute} {heure} {jour du mois} {mois} {jour de semaine} {utilisateur} {path-to-shell-script}
Donc, pour courir chaque dimanche à minuit (le dimanche est 0 habituellement, 7 dans certains cas rares):
la source
0 0 * * 1
.Lorsque vous spécifiez vos valeurs cron, vous devez vous assurer que vos valeurs se situent dans les plages. Par exemple, certains crons utilisent une plage de 0 à 7 pour le jour de la semaine où 0 et 7 représentent dimanche. Nous ne le faisons pas (vérifiez ci-dessous).
référence: https://github.com/ncb000gt/node-cron
la source
Expression des tâches Cron d'une manière lisible par l'homme Crontab Builder
la source
Je pense que vous aimeriez ce site Web interactif, qui m'aide souvent à créer des directives Crontab complexes: https://crontab.guru/
la source
10 * * * Soleil
la source
@ travail hebdomadaire mieux pour moi!
example,add the fellowing crontab -e ,it will work in every sunday 0:00 AM @weekly /root/fd/databasebackup/week.sh >> ~/test.txt
la source
la source