Automatisation des tâches: cron, crontab, incron
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 Guru
Un site bien pratique pour générer les crontabs que vous souhaitez : https://crontab.guru/
voir les crons
crontab -l
modifier les crons
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…
astuce antispam
é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
incron
inotify, incron
astuce NiKo
faire du cron basé sur les événements plutôt que sur le temps, ex. modification dans un dossier etc