J'essaie de comprendre comment exécuter un travail de crontab chaque semaine le dimanche. Je pense que ce qui suit devrait fonctionner, mais je ne suis pas sûr de bien comprendre. Le texte suivant est-il correct?
5 8 * * 6
Voici une explication du format de crontab.
# 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
Ainsi, votre 5 8 * * 0
fonctionnerait tous les dimanches à 8h05.
Pour exécuter un cron le dimanche, vous pouvez utiliser l’un des deux suivants:
5 8 * * 0
5 8 * * 7
5 8 * * Sun
Où 5 8
correspond à l'heure du jour où cela se produira: 08h05.
En général, si vous voulez exécuter quelque chose le dimanche, assurez-vous que la cinquième colonne contient soit 0
, 7
ou Sun
. Vous aviez 6
, donc il fonctionnait samedi.
Le format pour les cronjobs est:
+---------------- 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 en tant qu'éditeur pour vérifier vos expressions cron.
Voici le format du fichier crontab.
{minute} {heure} {jour du mois} {mois} {jour de la semaine} {utilisateur} {chemin d'accès au script shell}
Donc, pour courir chaque dimanche à minuit (le dimanche est généralement de 0, 7 dans de rares cas):
0 0 * * 0 root /path_to_command
Lorsque vous spécifiez vos valeurs cron, vous devez vous assurer que vos valeurs sont comprises dans les plages. Par exemple, certains cron utilisent une plage de 0 à 7 pour le jour de la semaine où 0 et 7 représentent tous les deux le dimanche. Nous ne le faisons pas (voir ci-dessous).
Seconds: 0-59
Minutes: 0-59
Hours: 0-23
Day of Month: 1-31
Months: 0-11
Day of Week: 0-6
référence: https://github.com/ncb000gt/node-cron
10 * * * dim
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.
* * * * 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)
Expression de travail Cron de manière lisible par l’homme constructeur de crontab
@ hebdomadaires fonctionnent 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