Crontab
Cron est à GNU ce que at est à MS Windows, il s’agit du système de programmation des tâches de base fournit par l’OS.
Chaque utilisateur peut modifier ses propres tâches en tapant crontab -e. Les tâches exécutées sont bien évidement lancées sous l’utilisateur du cron.
La visualisation
crontab -l permet simplement de visualiser la liste des tâches pour l’utilisateur.
La purge
crontab -r permet vider les tâches de l’utilisateur.
L’édition
En tapant crontab -e , vous tomberez sur l’édition du fichier correspondant à votre cron. La syntaxe est assez simple.
Voici la première ligne que l’on peut trouver.
#m h dom mon dow command
nous pouvons par déduction découvrir sa signification.
m comme Minute
h comme Hour
dom comme Day Of Month
mon comme Month
dow comme Day Of Week (0 = dimanche)
Des exemples
Lancer une commande :
Tous les jours à 14h30
#m h dom mon dow command
30 14 * * * ~/commande.shTout les Lundi à minuit
#m h dom mon dow command
0 0 * * 1 ~/commande.sh
Tous les 1ers de chaque mois à minuit
#m h dom mon dow command
0 0 1 * * ~/commande.sh
Tous les 3 minutes
#m h dom mon dow command
*/3 0 * * * ~/commande.sh
A 6h et 18h
#m h dom mon dow command
* 6,18 * * * ~/commande.sh
Toutes les minutes de 19h à 20h le vendredi
#m h dom mon dow command
* 19-20 * * 5 ~/commande.sh
Allons plus loin
La présence du fichier /etc/cron.allow donnera la liste des utilisateurs autorisés à utiliser cron, dans le cas ou ce fichier n’existe pas, tout le monde peut y acceder. Le fichier /etc/cron.deny à l’inverse, interdira les utilisateurs souhaités.
Vous pouvez aussi utiliser les parametres spéciaux :
@reboot exécution au démarrage du système
@yearly exécution une fois par an (ou @annually)
@monthly exécution une fois par mois
@weekly exécution une fois par semaine
@daily exécution une fois par jour (ou @midnight)
@hourly execution une fois par heure
Envoyer la sortie standard vers une adresse email
~/commande.sh | mail -s « sujet du mail » email@dom.tld
Vous pouvez bien sûr utiliser la redirection standard et d’erreur dans votre commande.
Bonne programmation !