« Le système d'exploitation GNU-Linux/L'ordonnanceur de travaux cron » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
corrections + mise en page
Ligne 1 :
Le processus '''cron''' est le 1erun [[w:fr:Daemon|daemon]] lancéqui parpermet GNU/Linux. C'est ce daemon quide gèreprogrammer lesdes tâches répétéesrépétitives.
 
==Configuration de Croncron==
Son fichier de configuration est '''/etc/crontab''', éditable uniquement par le ''root''.
 
SonLe fichier de configuration de '''cron''' est '''/etc/crontab''', éditable uniquement par le ''root''.
Voici son contenu dans nos ordinateurs:
 
Exemple:
 
# /etc/crontab: system-wide crontab
Ligne 11 ⟶ 12 :
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
 
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
Ligne 22 ⟶ 23 :
#
 
Voici la syntaxe de la programmation de la fréquence de répétition :
Nous allons nous interresser à la derniere section de crontab.
Voici sa structure:
{| class="wikitable" border="1"
Ligne 60 :
|}
 
Tous les champs peuvent être remplacés par "'''*'''" si on souhaite toutes les valeurs correpondantescorrespondantes.
 
Notation avancée:
 
on peut définir des valeurs multiples ou des plages de valeurs pour les heures, les jours etc...
On peut définir des valeurs multiples ou des plages de valeurs pour les heures, les jours etc... :

Par exemple, au lieu de faire plusieurs lignes de cron pour plusieurs fois le même évènement, on peut mettre plusieurs valeurs séparées par "''','''"

On oupeut aussi indiquer une plage de valeur dont les limites sont séparées par "'''-'''".
 
De même, on peut définir des fréquences avec "'''/'''". Par exemples, toutes les 2h s'écrira '''*/2''' dans la deuxième colonne.
 
 
==Exemples==
 
* 0 * 7 3 1 root beep (utilisateur root beep, toutes les heures à 0 minutes le 7 mars)
* 15,45 8 * *0 * root7 beep3 (utilisateur* root beep, à 8h15 et 8h45 tous les jours)
 
* 0 8-18 * * * toto beep (utilisateur toto beep toutes les heures de 8h à 18h tous les jours)
* 0 * 7 3 1L'utilisateur root beepappelle (utilisateurla rootcommande beep, toutes les heures à 0 minutesminute le 7 mars).
* 0 12 * * mon,wen,fri titi beep (utilisateur titi beep à midi tous les lundi, mercredi et vendredi)
 
* 0 */2 * * 1-5 tata beep (utilisateur tata beep toutes les 2h du lundi au vendredi)
* 15,45 8 * * * root beep
 
L'utilisateur root appelle la commande beep, à 8h15 et 8h45 tous les jours.
 
* 0 8-18 * * * toto beep
 
* 0 8-18 * * *L'utilisateur toto beepappelle (utilisateurla totocommande beep toutes les heures de 8h à 18h tous les jours).
 
* 0 12 * * mon,wen,fri titi beep
 
* 0 12 * * mon,wen,friL'utilisateur titi beepappelle (utilisateurla titicommande beep à midi tous les lundi, mercredi et vendredi).
 
* 0 */2 * * 1-5 tata beep
 
* 0 */2 * * 1-5L'utilisateur tata beepappelle (utilisateurla tatacommande beep toutes les 2h du lundi au vendredi).
 
 
==Répertoires de cron==
 
En plus de la commande cron, il existe des répertoires spécifiques pour définir des commandes cron à fréquences précises définies par le répertoire. cesCes répertoires particuliers sont localisés dans le repertoire '''/etc'''
 
{| class="wikitable" border="1"
Ligne 98 ⟶ 119 :
 
Dans le même ordre d'idée, on peut rajouter des repertoires particuliers reliés à des fonctions spécifiques d'une entreprise ou d'une personne, pour executer des cron.
Il suffit de mettre des repertoiresfichiers préciscontenants des lignes '''cron''' dans le repertoire '''/etc/cron.d/'''.
 
exemple : /etc/cron.d/comptabilite
 
 
Une fois le crontab modifié, il faut lui faire prendre en compte les modifications. Pour cela, on dispose de trois méthodes:
Pour cela, plusieurs méthodes:
 
# kill -1 ''<PidPID du crontab>''
{{rouge|ou}}
# killall -141 cron
/etc/init.d/cron restart
{{rouge|ou}}
# /etc/init.d/cron restart
 
==Les crontabs utilisateurs==
Dans le cas d'un ''utilisateur'':
 
unUn utilisateur peut accéder àprogammer ses propres crontabs,. quiCes crontabs sont stockés dans /var/spool/cron/crontabs/'''<nomlogin>'''
 
{| class="wikitable" border="1"
Ligne 124 ⟶ 146 :
|}
 
En utilisant la commande '''crontab -e''' , il n'est pas nécessaire de relancer le crontabdaemon est'''cron''' pour que les modifications soient misprises àen jourcompte.
 
[[Catégorie:Le système d'exploitation GNU-Linux (livre)]]