Linux ? Y a moins bien, mais c'est plus cher !
   
Utile !
Updates/Nouveau
Articles
Linux Distributions Environnements
graphiques
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 fichierRésultat
* * * * * beep Emet un beep toutes les minutes.
00 02 * * * updatedbLance la commande updatedb tout les jours à 2 heures du matin.
00 22 1 * * ~/MàJLance votre script "MàJ"* tout les premiers jours du mois à 22h00.
00 22 * * 5 clamscan -rScan antiviral tout les vendredi à 22h00.
00 08 * * 1-5 play debout.oggTout 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.liste
Adaptez 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 !


News RSS du Libre
Recherche




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

Sondage
Quelle distribution utilisez vous le plus ?
 
Mandriva
Mepis
(k)Ubuntu
SuSE
Debian
Knoppix/Kaella
Xandros
Gentoo
Fedora
Autres
Résultats
Newsletter
Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
S'abonner
Se désabonner
131 Abonnés
Haut

  Site créé avec GuppY v4.5.14 © 2004-2005 - Licence Libre CeCILL

Document généré en 0.3 seconde