Configuration de crontab

Crontab est le nom du programme sous Unix (ou Linux) qui permet d'éditer des tables de configuration du programme cron. Par extension, on appelle souvent cron (ou cron job en anglais) toute application lancée à horaire fixe.

Concept et différentes Crontab

Crontab système


Crontab



  • Les crontab SYSTEM se situe dans les répertoires en fonction de leur périodicité :





/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
/etc/cron.yearly



  • Ces tâches sont supervisées par le daemon ANACRON qui vérifie la dernière date d'éxecution
    et stocke cette date dans les fichiers :
ll /var/spool/anacron/
  • Les supervisions faites par ANACRON sont visibles dans le fichier de conf :
/etc/crontab
  • Pour ajouter une crontab SYSTEM, ajouter le script exécutable dans le dossier référent:
cp monscript /etc/cron.weekly/

Crontab user

  • Les cron pour les users sous linux sont généralement situés dans :
/var/spool/cron/crontabs/utilisateur 
  • Ajouter une crontab à root :
crontab -u root -e
  • Lister les cron d'un user :
crontab -u user -l

Quelques exemples de crontab

Une tâche pour root tous les jours ouvrés à 8h59 :

crontab -u root -e
59  8  *  *  1,2,3,4,5  /home/user/script.sh

Une tâche pour user tous les 5 minutes tous les vendredis :

crontab -u user -e
*/5  *  *  *  5 /root/script.sh

Changer l'éditeur par défaut de la crontab :

  • Exporter la variable EDITOR
export EDITOR=vi

Taches uniques programmées AT

Beaucoup moins utilisé, la commande AT permet de planifier l’exécution de tâche unique à une date/heure précise.

  • Exemple :
at -f ./truc.sh 19h00
  • Visualiser les tâches programmées :
atq
  • Supprimer une tâche :
atrm

Vos commentaires

eti, 27/10/2011 à 11:03
Simple et efficace. Merci.
cemkus, 14/02/2012 à 18:22
Bon je souhaite créer un script du type démarrer le serveur apache 1 fois /jour.Dite moi ou je dois inclure le scripte (essai.sh par exemple)
M@th!eu, 11/03/2012 à 13:26
Bonjour d'abord...
Pour configurer une tache 1fois/jour à 8h00 par exemple :
crontab -u root -e
0 8 * * * /home/user/script.sh (ts les jours à 8h)
cemkus, 24/03/2012 à 09:45
Merci!
linux/cron.txt · Dernière modification: 13/11/2011 à 16:38 (modification externe)


Recent changes RSS feed Licence CC BY-SA 2.0 Powered by JQuery Powered by PHP Driven by DokuWiki
Aller bas de page
Retour haut de page