exécuter crontab deux fois par jour à 00h et 13h30
je veux exécuter un script à deux fois par jour à 00:00 et 13:30, donc j'écris :
0,30 0,13 * * *
cela me semble mal pour moi, parce que comme ça, le script va tirer sur 00:00 , 00:30 , 13:00 et 13h30. Une idée ?
5 réponses
Pourquoi ne pas mettre deux cron entrées ? Un pour 00:00 et 13:30 ? Je ne pense pas que vous puissiez faire ce que vous voulez dans une entrée, puisque les définitions de deux minutes s'appliqueront aux deux définitions d'heure (comme vous l'avez identifié).
l'alternative est peut-être d'exécuter un script à 00:00. Ce script exécuterait votre script original, puis attendrait 13,5 heures et exécuterait ce script à nouveau. Ce serait facile à faire via une simple commande de sommeil, mais je pense que c'est pas intuitif, et je ne suis pas sûr de savoir comment cron
gère des processus aussi longs (que se passe-t-il si vous éditez le crontab
- est-ce qu'il tue un travail engendré etc.)
Essayer ce-que: 00 01,13 * * *
it will run at 1 A. M and 1 P. M
vous ne pouvez pas faire cela avec cron sur une seule ligne. Vous devez créer 2 lignes distinctes comme suit:
# Will run "YourCommand" at 00:00
0 0 * * * YourCommand
# Will run "YourCommand" at 13:30
30 13 * * * YourCommand
Ou sur une seule ligne, vous pouvez exécuter une commande de toutes les x heures, comme suit:
# Will run "YourCommand" every 12 hours
0 */12 * * * YourCommand
essayer ...
00 01,13 * * * [ `date +%H%M` == 1330 ] || [ `date +%H%M` == 0000 ] && logger "its time"
30 0,13 * * * somecommand.sh
ce n'est qu'un exemple, mais vous verrez qu'il s'agit d'une entrée cron qui s'exécute à 0:30AM puis 13:30PM (13 est 1 en temps militaire). Juste virgule séparer les heures, ou virgule séparer n'importe quelle section du cron.