GNU/Linux >> Tutoriels Linux >  >> Linux

CronJob toutes les 25 minutes

La commande dans crontab est exécutée avec /bin/sh vous pouvez donc utiliser l'expansion arithmétique pour calculer si la minute actuelle modulo 25 est égale à zéro :

*/5 * * * * [ $(( $(date +\%s) / 60 \% 25 )) -eq 0 ] && your_command

cron exécutera cette entrée entière toutes les 5 minutes, mais seulement si la minute actuelle (en minutes depuis l'époque) modulo 25 est égal à zéro, il exécutera your_command .

Comme d'autres l'ont souligné, 1 jour n'est pas divisible par 25 minutes, donc cela ne causera pas your_command pour courir à la même heure tous les jours, mais cela va exécuter toutes les 25 minutes.


Votre meilleur pari est de courir à 20 minutes ou 30 minutes.

La meilleure solution consiste ensuite à déclencher toutes les 5 minutes, puis à conserver un décompte ou un horodatage interne, et à exécuter tous les 5 déclencheurs, ou si 25 minutes se sont écoulées depuis la dernière exécution.

Plus compliqué serait de déterminer les heures correctes pour une journée, à partir de minuit, et d'accepter l'erreur à la fin de la journée. Cela impliquerait de dupliquer l'entrée crontab aux différentes heures.

Plus compliqué que cela serait de calculer les temps pour un mois entier, ce qui impliquerait de nombreuses copies de l'entrée crontab pour couvrir les différentes combinaisons.

Enfin, vous pouvez implémenter le vôtre, toujours sur le démon, et lui confier la planification.


Je n'en ai aucune expérience directe, mais fcron semble faire ce que vous voulez dès le départ. Selon sa documentation, vous pouvez spécifier des fréquences :

# Get our mails every 30 minutes 
@ 30 getmails -all 

# make some security tests every 48 hours of system up time, 
# force a mail to be sent to root even if there is no output 
@mailto(root),forcemail 2d /etc/security/msec/cron-sh/security.sh

Linux
  1. Utiliser WGET pour exécuter un cronjob PHP

  2. Comment exécuter le travail crontab chaque semaine le dimanche

  3. Comment configurer le travail CRON pour qu'il s'exécute toutes les 10 secondes sous Linux ?

  4. crontab exécuté toutes les 15 minutes entre certaines heures

  5. comment exécuter le travail cron tous les 3 mois?

Comment exécuter des tâches Cron toutes les 5, 10 ou 15 minutes

Comment exécuter une commande Linux toutes les X secondes pour toujours

Comment exécuter une tâche Crontab chaque semaine le dimanche

Exemple Crontab – toutes les 5 minutes

Comment puis-je exécuter une tâche cron toutes les 30 minutes ?

Cronjob exécuté toutes les deux semaines, le samedi, à partir de ce samedi