[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:slackbook:process_control [2012/12/16 22:57 (UTC)] – [top] Initial translation ellendhelfr:slackbook:process_control [2012/12/29 15:23 (UTC)] (Version actuelle) – [Sources] ellendhel
Ligne 190: Ligne 190:
 ===== cron ===== ===== cron =====
  
 +Bien, nous avons étudié différents moyen de voir les processus actifs de notre système et comment leur envoyer des signaux, mais comment faire pour lancer un processus de manière régulière ? Heureusement, Slackware comporte ce qu'il faut, **//crond//**(8). cron lance des processus pour chaque utilisateur selon le programme qu'il aura établi. Cela rend les choses très pratique pour les processus qui doivent s'exécuter de manière périodique, mais qui ne demandent pas à être "démonisés", comme pour les scripts de sauvegarde. Chaque utilisateur peut gérér sa propre entrée dans la base de données de cron, les utilisateurs non-root peuvent dont lancer leurs processus planifiés également.
 +
 +Pour pouvoir lancer un programme depuis cron, vous aurez besoin de **//crontab//**(1). La page de manuel liste un large choix de façon de faire cela, mais la méthode la plus courante est d'utiliser l'option //-e//. Cela verrouillera l'entrée de l'utilisateur dans la base de données de cron (pour éviter d'être accédés en écriture par un autre programme) puis ouvrira cette entrée avec l'éditeur de texte indiqué par la variable d'environnement VISUAL.  Sur les systèmes Slackware, c'est typiquement l'éditeur **//vi//**. Vous pouvez avoir besoin de consulter le chapitre sur **//vi//** avant de continuer.
 +
 +Les entrées de la base de données de cron peuvent paraître un peu archaïques au premier regard, mais elles sont très souples. Chaque ligne non commentée est traitée par **//crond//** et la commande indiquée est lancée si les horaires correspondent.
 +
 +<code>
 +darkstar:~$ crontab -e
 +# Keep current with slackware
 +30 02 * * * /usr/local/bin/rsync-slackware64.sh 1>/dev/null 2>&1
 +</code>
 +
 +Comme mentionné précédemment, la syntaxe des entrées de cron est un peu difficile à comprendre au début, regardons chaque partie indépendamment. De la gauche vers la droite, les différentes sections sont : minutes, heures, jour, mois, jour de la semaine et commande. Une astérisque <key>'*'</key> indique toutes les minutes, heures, jours et ainsi de suite. Dans l'exemple ci-dessus, la commande est //"/usr/local/bin/rsync-slackware64.sh 1>/dev/null 2>&1"// et elle s'exécute tous les jours de la semaine, chaque semaine et chaque mois à 2 h 30 du matin.
 +
 +**//crond//** enverra également un courrier électronique à l'utilisateur local avec la sortie générée par la commande. Pour cette raison, beaucoup de tâches ont leur sortie redirigée vers ''/dev/null'', un périphérique spécial qui supprime directement ce qu'il reçoit. Afin de vous souvenir plus facilement de ces règles, vous souhaiterez peut-être coller le texte suivant en commentaire dans votre propre entrée de cron.
 +
 +<code>
 +# Rediriger la sortie vers /dev/null :
 +#   1>/dev/null 2>&1
 +#
 +# MINUTE HEURE JOUR MOIS JOUR DE LA SEMAINE COMMANDE
 +</code>
 +
 +Par défaut, Slackware comporte un certain nombre d'entrée et de commentaires dans la crontab de root. Ces entrée facilitent la mise en place de tâches d'administration système périodiques selon les répertoires correspondants dans ''/etc''. Tout script placé dans ces répertoires sera exécuté chaque heure, jour, semaine ou mois. Les noms sont assez significatifs ((en anglais //hourly// : horaire, //daily// : quotidien, //weekly// : hebdomadaire, //monthly// : mensuel )) : ''/etc/cron.hourly'', ''/etc/cron.daily'', ''/etc/cron.weekly'' et ''/etc/cron.monthly''.
 ====== Navigation ====== ====== Navigation ======
  
Ligne 198: Ligne 222:
 ====== Sources ====== ====== Sources ======
 <!-- If you copy information from another source, then specify that source --> <!-- If you copy information from another source, then specify that source -->
- * Source originale : [[http://www.slackbook.org/beta]] \\+  * Source originale : [[http://www.slackbook.org/beta]] \\
 <!-- Authors are allowed to give credit to themselves! --> <!-- Authors are allowed to give credit to themselves! -->
- Publié initialement par Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson\\ +  Publication initiale d'Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson 
- * Traduction initiale de [[wiki:user:escaflown | escaflown]] +  * Traduction initiale de [[wiki:user:escaflown | escaflown]] 
 +  * Traduction de [[wiki:user:ellendhel | Ellendhel]]
 <!-- * Contrbutions by [[wiki:user:yyy | User Y]] --> <!-- * Contrbutions by [[wiki:user:yyy | User Y]] -->
 <!-- Please do not modify anything below, except adding new tags.--> <!-- Please do not modify anything below, except adding new tags.-->
 <!-- You must also remove the tag-word "template" below. Otherwise your page will not show up in the Table of Contents --> <!-- You must also remove the tag-word "template" below. Otherwise your page will not show up in the Table of Contents -->
 {{tag>fr:slackbook process_control ps kill killall top cron}} {{tag>fr:slackbook process_control ps kill killall top cron}}
 fr:slackbook:process_control ()