Exécuter un travail cron à 2:30 AM tous les jours
Comment configurer un travail cron pour qu'il s'exécute tous les soirs à 2h30? Je sais comment le faire tourner à 2 h 30, mais pas à 2 h 30.
7 réponses
-
Pour modifier:
crontab -e
-
Ajoutez cette ligne de commande:
30 2 * * * /your/command
- Format Crontab:
MIN HEURE DOM MON DOW CMD
- signification du Format et valeur autorisée:
MIN Minute field 0 to 59
HOUR Hour field 0 to 23
DOM Day of Month 1-31
MON Month field 1-12
DOW Day Of Week 0-6
CMD Command Any command to be executed.
- Format Crontab:
-
Redémarrez cron avec les dernières données:
service crond restart
Comme on le voit dans les autres réponses, la syntaxe à utiliser est:
30 2 * * * /your/command
# ^ ^
# | hour
# minute
Suivant le format standard crontab:
+---------------- 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
, Il est également utile d'utiliser crontab.guru pour vérifier les expressions crontab.
Les expressions sont ajoutées dans crontab
en utilisant crontab -e
. Une fois que vous avez terminé, enregistrez et quittez (si vous utilisez vi
, tapez :x
le fait). La bonne idée d'utiliser cet outil est que si vous écrivez une commande invalide vous êtes susceptible d'obtenir une invite de message sur le forme:
$ crontab -e
crontab: installing new crontab
"/tmp/crontab.tNt1NL/crontab":7: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit? (y/n)
Si vous avez d'autres problèmes avec crontab ne fonctionne pas, vous pouvez vérifier débogage crontab ou pourquoi crontab n'exécute pas mon script PHP?.
Un moyen facile d'écrire cron est à utiliser en ligne cron générateur Il va générer la ligne pour vous. Une chose à noter est que si vous souhaitez l'exécuter chaque jour (pas seulement en semaine), vous devez mettre en évidence tous les jours.
30 2 * * * wget https://www.yoursite.com/your_function_name
La première partie est pour définir le travail cron et la partie suivante pour appeler votre fonction.
En plus des excellentes réponses mentionnées ci-dessus, vérifiez le https://crontab.guru / - une ressource en ligne utile pour vérifier votre syntaxe crontab.
Ce que vous obtenez est une représentation lisible par l'homme de ce que vous avez spécifié.
Voir les exemples ci-dessous:
- 30 2 * * * (réponse à cette question)
- @quotidien
- 59 23 31 12 *
Il doit être:
0 30 2 * * ?
La 1ère valeur représente les secondes la 2ème valeur représente les minutes la 3ème valeur représente heures la 4ème valeur représente le jour du mois la 5ème valeur représente mois C'est ce que j'ai utilisé pour exécuter mon travail cron à travers Quartz