Cron:
Cron est un programme disponible sur les systèmes Linux permettant de planifier des taches régulières. Il est en effet intéressant que les tâches habituelles soient réalisées automatiquement par le système plutôt que d’avoir à les lancer manuellement en tant qu’utilisateur. Cron est un démon, il tourne donc en tâche de fond du système.
Crontab:
Crontab permet de programmer des tâches régulières sur votre ordinateur et tourne avec l’application cron.
Paramètres de crontab:
m h dom mon dow commande
m pour minute valeur comprise entre 0 et 59
h pour heure valeur comprise entre 0 et 23
dom pour jour du mois valeur comprise entre 1 et 31
mon pour mois valeur comprise entre 1 et 12
dow pour jour de la semaine valeur comprise entre 0 et 7, le dimanche étant 0 ou 7, le lundi 1, etc …
commande pour la commande ou la suite de commande à exécuter.
Il existe aussi des caractères spéciaux:
* : s’il est utilisé dans l’un des 5 premiers champs, indique que la commande doit être effectuée tout le temps
/ : permet de spécifier une répétition
– : permet de définir une plage
, : permet de définir plusieurs valeurs
Tableau des raccourcis.
Raccourcis | Description | Équivalent |
@reboot | Au démarrage | Aucun |
@yearly | Tous les ans | 0 0 1 1 * |
@annually | Tous les ans | 0 0 1 1 * |
@monthly | Tous les mois | 0 0 1 * * |
@weekly | Toutes les semaines | 0 0 * * 0 |
@daily | Tous les jours | 0 0 * * * |
@midnight | Tous les jours | 0 0 * * * |
@hourly | Toutes les heures | 0 * * * * |
Les commandes:
crontab -l
Permet de lister toutes les actions crontab de votre utilisateur.
crontab -u toto -l
Permet à l’administrateur de lister toutes les actions crontab de l’utilisateur toto.
crontab -r
Permet lui de supprimer votre fichier crontab.
crontab -e
Permet d’éditer votre fichier crontab.
Exemples:
*/10 * * * * commande permet d’exécuter une commande toutes les dix minutes.
0 23 * * 2-5 commande permet d’exécuter une commande tous les jours de la semaine du mardi ou vendredi à 23h.
17 19 1,15 * * commande veut dire les premier et quinzième du mois à 19h17
23 0-16/2 * * * commande signifie toutes les 2 heures à la 23ième minute, entre minuit et 16 heures.
Voici un lien avec plus d’explication si besoins :http://manpagesfr.free.fr/man/man5/crontab.5.html
Démarrer / Arrêter / Redémarrer le service cron:
Redémarrage de Cron
sudo /etc/init.d/cron restart
Arrêt
sudo /etc/init.d/cron stop
Démarrage
sudo /etc/init.d/cron start
Remarque suivant la distribution de linux l’éditeur peut être VIM ou Nano.