Automatisation des tâches: cron & crontab

cron est un programme qui permet aux utilisateurs des systèmes Unix d’exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l’avance, ou selon un cycle défini à l’avance. (wikipedia)

si on veut un programme qui se lance au boot (démarrage) ou au shutdown (arrêt) c'est ici: linux_auto_boot_shutdown

crontab -l

crontab -e

 # min (0-59) hours (0-23) day (1-31) month (1-12) day of week (0-6, 0=Sunday)

10 * * * * /opt/sfw/bin/wget -q -O /dev/null -nd http://your_url

éviter le spamming des mails de vos cronjobs:

un spam peut être généré par la commande crontab suivante, si programme.sh n'a pas d'output:

05 00 * * * /home/radeff/bin/programme.sh -q 2>&1 | mailx -s "[Cron] check ProgrammeCHose v1" fradeff@akademia.ch

Astuce Vérifier que contenu à envoyer n'est pas vide:

/home/radeff/bin/programme.sh -q >/var/tmp/cron_backup.out 2>&1; if [ -s /var/tmp/cron_backup.out ]; then mailx -s "[Cron] check ProgrammeCHose v1" fradeff@akademia.ch < /var/tmp/cron_backup.out; fi

astuce NiKo

faire du cron basé sur les événements plutôt que sur le temps

genre modification dans un dossier etc

inotify, incron
  • info/crontab.txt
  • Dernière modification: 2018/07/18 09:45
  • par radeff