Page suivantePage précédenteTable des matières

10. Commandes "à retardement" cron et at

10.1 cron

C'est le programme cron qui exécute périodiquement les commandes spécifiées dans /etc/crontab et dans les crontabs des utilisateurs. La Debian 1.3 possède en plus un mécanisme pour exécuter les commandes de /etc/cron.daily, /etc/cron.weekly et /etc/cron.monthly, respectivement tous les jours, toutes les semaines et tous les mois.

cron est lancé par les scripts de démarrage mais il change son PATH en une valeur assez étrange :

 /usr/bin:/binn:/sbin:/bin:/usr/sbin:/usr/bin
IL S'AGIT SUREMENT D'UN BOGUE DANS CRON. Il s'agit en fait du PATH de init (/usr/bin:/bin) qui est copié ici, mais sans le 0 terminal (chaîne en convention C - NdT)! Ce bogue n'existe pas sur tous les systèmes.

Dans la crontab, on peut définir un PATH spécifique pour l'exécution des commandes. Pour la Debian 1.3, il s'agit de :

 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
De cette façon, le PATH de crond n'est jamais utilisé dans les programmes utilisateurs. Tous les scripts de /etc/cron.* obtiennent par défaut le PATH de la crontab. Celui ci est utilisé même si le programme n'est pas exécuté en tant que root.

10.2 at

La commande at est utilisée pour lancer un programme à une heure fixée.

Le programme atd est lancé avec le PATH de init. Cependant, les programmes sont toujours lancés avec l'environnement utilisateur grâce à sh. Les spécificités de sh s'appliquent donc ici. Reportez vous au chapitre sur bash.


Page suivantePage précédenteTable des matières