Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
applications:cron [Le 27/10/2006, 09:26]
ostaquet Les liens vers applications:synaptic ont été changés vers applications:apt:synaptic
— (Version actuelle)
Ligne 1: Ligne 1:
-DokuWiki 
  
-<​code>​ 
-Toutes versions 
-</​code>​ 
- 
-[[http://​wiki.ubuntu.com/​CronHowto|Traduit]] par [[utilisateurs:​Manu]] complété par [[:​contributeurs|Les contributeurs d'​Ubuntu-fr]]. 
- 
-===== Qu'​est-ce que Cron ? ===== 
- 
-**Cron** est un //daemon// utilisé pour programmer des tâches devant être exécutées à un moment précis. ​ Chaque utilisateur a un fichier **crontab**,​ leur permettant d'​indiquer les actions et à quelles ​ périodes, elles devront être exécutées. ​ Il y a également une **crontab** pour le système, permettant les tâches techniques, pour la mise à jour des différents programmes ou autres besoins périodiques. De plus, il existe un éditeur GTK [[http://​packages.ubuntu.com/​hoary/​utils/​gcrontab|gCrontab]] (paquet disponible via [[.:​apt:​Synaptic]] dans les dépots Universe) qui permet de s'​affranchir facilement des différentes commandes décrites ci-dessous. 
- 
-===== Comment fonctionne Cron ? ===== 
- 
-Pour utiliser **cron**, ajoutez simplement les entrées à votre fichier **crontab**. Une entrée dans **crontab** donne, par exemple, l'​heure,​(et la date si non périodique) et la commande à lancer: 
- 
-<​code>​ 
-5 3  * *  * /​usr/​bin/​apt-get update 
-</​code>​ 
- 
-La première partie de l'​entrée de **crontab** décrit quand l'​action sera effectuée. Il y a cinq champs, séparés par un espace ou une tabulation, dont chacun est paramétré soit par, un nombre, une étoile (*), ou le texte approprié. ​ Les champs sont, dans l'​ordre,​ //minute//, //heure//, //jour du mois//, //mois// et //jour de la semaine//​. ​ Le mois et le jour de la semaine permettent l'​utilisation d'une abréviation (suivant les jours et mois en anglais), telle que **jan** pour janvier (January) ou **thu** pour jeudi (Thursday). 
- 
-L'​exemple ci-dessus exécutera ///​usr/​bin/​apt-get update//, chaque jour, de chaque mois à 03:05 (le **cron** fonctionne sur 24 h).  Vous pouvez faire tourner **cron** toutes les 5 minutes tout au long de la journée de travail (9am-5pm) avec un message: 
- 
-<​code>​ 
-*/5 9-17  * * mon,​tue,​wed,​thu,​fri wall "Où en es tu ?" 
-</​code>​ 
- 
- 
-ou vous rappelez un anniversaire à 9h du matin le 10 janvier chaque année: 
- 
-<​code>​ 
-0 9 10 jan  * echo "​C'​est l'​anniversaire de ta Maman aujoud'​hui !" >>​~/​readme 
-</​code>​ 
- 
-Il existe des raccourcis interessants : 
- 
-    * @reboot # se lance au reboot avec les droits utilisateurs,​ bien commode 
-    * @yearly 
-    * @annually 
-    * @monthly 
-    * @weekly 
-    * @daily 
-    * @midnight 
-    * @hourly 
- 
-Cf aussi : 
- 
-   man 5 crontab 
- 
-===== Commande pour Cron ===== 
- 
-Pour regarder le contenu de votre **crontab** ,tapez: 
- 
-<​code>​ 
-crontab -l 
-</​code>​ 
- 
-Pour éditer le fichier de votre **crontab**,​ tapez: 
- 
-<​code>​crontab -e</​code>​ 
- 
-Quand vous sortez de l'​éditeur,​ le nouveau fichier **crontab** sera installé. Le fichier est stocké dans ///​var/​spool/​cron/​crontabs/<​user>//​ mais doit seulement être édité par l'​intermédiaire de la commande **crontab**. 
- 
- 
-L'​éditeur utilisé pour modifier la crontab peut être modifié par la commande: 
-<​code>​ 
-sudo update-alternatives --config editor 
-</​code>​ 
- 
-===== Autres Considérations ===== 
- 
-Les commandes ci-dessus sont stockées dans un fichier **crontab** appartenant à votre compte d'​utilisateur et exécutées avec votre niveau des permissions. Si vous voulez éxécuter, régulièrement,​ une commande exigeant un plus haut niveau de permission (root), vous devez utiliser le fichier **crontab** root (ou racine): 
- 
-<​code>​sudo crontab -e</​code>​ 
- 
-Remarque : cette commande édite directement le fichier // /​var/​spool/​cron/​crontabs/<​utilisateur>//​ (avec ici root comme utilisateur). 
- 
-Selon les commandes à exécuter, vous devrez changer la variable //PATH// des utilisateurs ayant les droits //root// en mettant la ligne suivante au dessus de leurs fichiers **crontab**:​ 
- 
-<​code>​ 
-PATH=/​usr/​sbin:/​usr/​bin:/​sbin:/​bin 
-</​code>​ 
- 
-Il est important de vérifier que vos travaux dans **cron** fonctionnent comme prévu. Une méthode pour faire un test est de paramétrer le travail dans la **crontab** pour qu'il se fasse quelques minutes plus tard et de vérifier les résultats avant de mettre, la synchronisation de cette tache, à la bonne heure. Vous pouvez également trouver utile de mettre les résultats des commandes dans un fichier texte qui notent les succès ou les échec, par exemple: 
- 
-<​code>​ 
-echo "​Sauvegarde de nuit: $(date)"​ >>/​tmp/​mybackup.log 
-</​code>​ 
- 
-Pour plus d'​information,​ regardez les pages du //man// pour **cron** et **crontab** (le //man// est détaillé sur [[console:​ligne_de_commande|les commandes basiques]]). Si votre machine est régulièrement éteinte, vous pouvez également être intéréssé par **at** (fait partie de l'​installation de base d'​Ubuntu ) et **anacron** (à trouver dans le dépôt `universe repository`) qui fournissez d'​autres approches aux tâches programmées. 
- 
-===== Liens ? ===== 
-[[http://​www.math-linux.com/​spip.php?​article=16|Programmation des tâches régulières:​ crontab]] 
  • applications/cron.1161934017.txt.gz
  • Dernière modification: Le 18/04/2011, 14:47
  • (modification externe)