| | |
| Articles | |
Linux
Distributions
Environnementsgraphiques
Portails
Tutoriels divers
Propagande
Divers |
| | |
| | |
| Soutien | |
 (Anupaz)
|
| | |
|
| | |
| Planification de tâches | |
| Sous Linux, il est assez facile de programmer l'exécution automatique de tâches de manière périodique ou non. C'est le rôle du daemon cron.
Si par exemple, vous souhaitez vous faire réveiller musicalement (sauf le week-end bien sûr) ou bien lancer une commande en pleine nuit, il suffit juste de le demander poliment à Cron. |
Installation
Cron est un processus daemon, pas une application au sens propre. Vérifiez que ce daemon est en cours d'exécution via la commande :
$ ps -ely | grep cron Affiche la liste des processus en cours, et parmi ceux-ci, uniquement ceux contenant le mot cron. Si vous obtenez une réponse, alors cron est installé et en cours d'exécution sur votre système. Passez à la configuration. Au cas où votre distribution ne l'inclue pas par défaut, installez le facilement via votre installateur de paquetages. Parmis les différentes versions de cron, la plus connue est peut-être vixie-cron. C'est lui que je décrirais ci-dessous. Sachez qu'il en existe d'autres (Dcron, Fcron, Anacron) avec chacun leurs subtilités.
Groupe cron et permissions
La plupart d'entre vous n'auront pas à configurer ceci. Je le met pour mémoire pour les courageux qui construisent leur système. Cela dit, si cron fonctionne mal chez vous, cela peut vous aider.
Pour qu'un utilisateur soit autorisé à utiliser cron, il doit faire partie du groupe cron (lire cet article pour plus d'explications). Vérifiez :
$ groups george Affiche la liste de tout les groupe auquel 'george' appartient.
Si le groupe 'cron' ne sort pas, ajoutez alors l'utilisateur à ce groupe :
$ su -c gpasswd -a george cron Ajoute george au groupe cron. Le mot de passe root est nécessaire.
Si le groupe cron n'existe pas, créez le :
$ su -c groupadd cron Création du groupe cron. Nécessite le mot de passe root. Ajoutez ensuite les utilisateurs à ce groupe.
Enfin, il est important que le nom des utilisateurs ayant accès à cron soit repris dans le fichier /etc/cron.allow (autorisation) et surtout pas dans /etc/cron.deny (interdiction). Créez ces fichiers si besoin. L'utilisateur doit se reconnecter pour que cela soit pris en compte.
Notez que même si un user normal a accès à cron, cela ne veut pas dire qu'il pourra lancer des commandes réservées à root (et inversément d'ailleurs).
Configuration
Cron est en fait composé du daemon crond et de l'application crontab, laquelle permet d'éditer les tâches. Sachez qu'il existe des interfaces graphiques pour simplifier cette saisie (Exemple : Kcron sous KDE). Je vais vous montrer la syntaxe qu'utilise crontab pour programmer des tâches mais honnêtement, sous KDE, utilisez Kcron, c'est plus simple... Manuel de Kcron.
Crontab
Commencons par constuire le fichier crontab associé à l'utilisateur. Appelez le comme bon vous chante et mettez le où vous voulez (dans mon exemple : /home/george/cron.liste). Utilisez votre éditeur de texte favori.
Dans ce fichier, vous allez programmer des tâches. Chaque tâche est representée par une ligne dont voici la structure :
mm hh jj MMM JJJ nom_tâche >nom_journal
- mm représente les minutes (0 à 59).
- hh représente l'heure (0 à 23).
- jjreprésente le jour (0 à 31).
- MMM représente le numéro du mois (1 à 12) ou son abréviation anglo-saxonne (jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec)
- JJJ représente le nom du jour (mon, tue, wed, thi, fri, sat, sun) ou son numéro (0 étant dimanche, 1 lundi etc).
- nom_tâche indique la commande ou le script à executer
- nom_journal représente le fichier (un log) dans lequel seront consignées les opérations. Mettez >/dev/null pour ne rien avoir. Attention, le symbol > écrase le log alors que >> ajoute à la suite.
Pour les champs temporels (mm, hh, jj, MMM et JJJ), vous pouvez mettre * comme joker. Voyons quelques exemples concrets :
Ligne du fichier | Résultat | * * * * * beep | Emet un beep toutes les minutes. | 00 02 * * * updatedb | Lance la commande updatedb tout les jours à 2 heures du matin. | 00 22 1 * * ~/MàJ | Lance votre script "MàJ"* tout les premiers jours du mois à 22h00. | 00 22 * * 5 clamscan -r | Scan antiviral tout les vendredi à 22h00. | 00 08 * * 1-5 play debout.ogg | Tout les jours de semaines à 8H, joue le morceau "debout.ogg". | 50 23 31 12 * halt -p
| Le 31 décembre à 23h50, tu pourras t'éteindre .
| * Ce script de Mise à Jour n'existe pas, c'est à vous de le faire
Vous avez édité votre fichier ? Ok, pour que le daemon crond le prenne en compte, il suffit de faire :
$ crontab /home/george/cron.listeAdaptez bien sûr en fonction du nom/chemin dans votre cas.
Notez que vous pouvez utiliser la commande $ crontab -e . Celle-ci créé automatiquement un fichier situé dans /var/spool/cron/crontab/nom_du_user. Dans ce cas alors, il n'est pas nécessaire de créer manuellement le fichier ni de faire la commande $ crontab /fichier.
Ca y est, les tâches sont programmées. Notez qu'on ne peut (à ma connaissance) programmer que des commandes console ou des script. A vous donc de trouver les applications pratiques (mise à jour du système, anti-virus, commande updatedb etc...).
Voici pour terminer quelques commandes utiles :
$ crontab -r Effacer le fichier crontab contenant les tâches. Vous pouvez aussi éditer le fichier et enlever les lignes que vous voulez (ou mettre un # devant).
$ crontab -l Affiche la liste des tâches programmées.
Le crontab du système
Attention, à l'installation de Vixie-cron (et seulement lui, pas Dcron etc), un "crontab système" sera installé. Vous pouvez voir le contenu des tâches qui seront lancées :
$ cat /etc/crontab Affiche le crontab système.
La commande crontab -l n'affichera pas ces tâches. Si vous souhaitez désactiver ces tâches systèmes, ajoutez un # devant chaque ligne du fichier (la commande sed peut s'avérer utile d'ailleurs).
Liens GuideLinux
Retour vers l'article sur la console. Retour vers la liste des commandes.
Liens externes
Tutoriel sur Gentoo.Org Turoriel sur ManPagefr.free Tutoriel Commentcamarche.net
Date de création : 12/03/2024 @ 17:17
Dernière modification : 01/10/2024 @ 18:40
Catégorie :
Page lue 1083 fois
Prévisualiser la page
Imprimer la page
|
| | |
| | |
| Réactions à cet article | |
Personne n'a encore laissé de commentaire. Soyez donc le premier ! |
|
| | |
|
| | |
| Infos Site | |
Votre adresse IP : 72.20.99.46
247 Membres
Dernier inscrit :
linuxreloaded
Membre en ligne :
( personne )
Anonymes online: 12
Total: 128505
Affluence record: 37
le 10/09/2024
|
| | |
|