Vous êtes sur la page 1sur 6

Commandes planifies (at)

et commandes cycliques (crontab) sous Unix


1 Commandes planifies : at (1)
1

at [-c | -s | -k] [-m] [-q queuename] [-f file] date [increment] [command | file]
at -r job_number ...
at -l [-q queuename] [user ...]
La commande at permet de diffrer l'excution de travaux. Elle lit sur son entre standard les commandes qu'elle
doit lanc la date spcifie.
Au lieu d'envoyer les ordres excuter sur l'entre standard, vous pouvez
spcifier directement la commande la suite.
donner le nom d'un fic!ier contenant les commandes excuter.
La commande batch excute les travaux seulement lorsque le niveau de la c!ar"e du syst#me le permet. La
commande at rediri"e automatiquement sa sortie standard et sa sortie d'erreurs standard dans la $oite aux lettres du
courrier lectronique.
%ar dfaut, la commande at utilise le &ourne '!ell comme interprteur de commandes. 'i vous dsirez c!an"er
l'interprteur de commande par dfaut (c si"nifie ) '!ell, (* si"nifie +orn '!ell
Le param#tre date a le format suivant [[CC]AA]MMJJhhmm[.ss]
avec
CC
les deux c!iffres des centaines de
l'anne,
AA les deux derniers c!iffres de l'anne,
CC et AA sont
optionnels, l'anne en
cours est prise par
dfaut.
MM le mois ,-.(./0,
JJ le 1our ,-.(2.0,
hh l'!eure ,--(/20,
mm les minutes ,--(340,
ss les secondes ,--(340.
La commande at interpr#te les valeurs composes d'un ou deux c!iffres comme tant des !eures. Elle
interpr#te les valeurs composes de quatre c!iffres comme tant des !eures et des minutes. 5ous pouvez
ventuellement sparer les !eures des minutes par le caract#re deux points : .
5ous pouvez indiquer le suffixe am , m ou !ulu . 'i vous ne spcifiez ni am ni m , la
commande at utilise une !orlo"e de /6 !eures. 'i vous spcifiez !ulu , le temps universel est utilis
,le temps universel correspond au fuseau !oraire de 7reen8ic!. 0.
L'un des mots clefs suivants
noon pour midi,
midni"ht pour minuit,
no# pour reprsenter l'instant prsent,
A en a$rviation de am ,
$ en a$rviation de m ,
% en a$rviation de noon ,
M en a$rviation de midni"ht .
La commande at reconna9t deux 1ours particuliers il s'a"it de toda& et de tomorro# . 'i
l'!eure indique est postrieure l'!eure d'entre de la commande, toda& est utilise par dfaut en tant que
param#tre date . :ans le cas contraire, celui(ci prend la valeur tomorro# . 'i vous indiquez un mois
antrieur celui en cours sans prciser d'anne, l'anne suivante est utilise par dfaut.
. )rdit !ttp;;!ome."na.or";unix(initiation;8e$site;node<=.!tml
7roupe esaip 1 / 6 Unix : commandes at et crontab
Le param#tre facultatif increment peut prendre l'une des valeurs suivantes
le si"ne plus ' suivi d'un nom$re et de l'un des mots suivants minute[s] , hour[s] ,
da&[s] , #eek[s] , month[s] ou &ear[s] ,ou tout quivalent en an"lais0.
le mot ne(t suivi de l'un des mots suivants minute[s] , hour[s] , da&[s] ,
#eek[s] , month[s] ou &ear[s] ,ou tout quivalent en an"lais0.
1.a Autres options :
-l Liste les travaux excuter.
-m Envoie un messa"e l'utilisateur apr#s l'excution de la commande.
-q queuename 'pcifie la file d'attente dans laquelle on effectue le travail.
-r job
'upprime des travaux pro"ramms par la commande at ,le param#tre job
correspond un numro affect par la commande0.
%ar dfaut, l'attri$ution des files d'attente se fait de la fa>on suivante
file d'attente type de travaux
a travaux soumis avec la commande at .
b travaux batch .
c travaux soumis par le cron .
d travaux sync .
e travaux +orn '!ell.
f travaux ) '!ell.
?emarque
Les travaux batch sous UNIX ne sont excuts seulement si le systme dispose de suisamment de
ressources!
%our plus de rensei"nements, reportez(vous at)*+ .
1.b Exemples :
'i uuclean se trouve dans le rpertoire courant
, at - m .rida& uuclean
, at no# ne(t #eek uuclean
, at no# ' / da&s 012M34bin4uuclean
, echo uuclean | at 5:66 m Januar& /7
, echo uuclean | at 5m Jan /7
, echo uuclean | at *-66 jan /7
8emarque:
Lorsque vous indique"# sur la li$ne de commande# un nom de commande comme dernier lment# vous
deve" spciier le chemin d%accs complet si celle&ci ne se trouve pas dans le rpertoire courant!
'n outre# la commande at ne prend en compte aucun ar$ument pour les commandes ( lancer!
7roupe esaip 2 / 6 Unix : commandes at et crontab
2 Commandes cycliques : crontab (1)
2.a Introduction - Syntaxe
crontab est utilis pour excuter un certain nom$re de t@c!es rptitives. )!aque utilisateur poss#de sa propre ta$le
de t@c!es. )elle(ci est enre"istre dans un rpertoire du syst#me d'exploitation ,49ar4sool4crontab 0.
)ette fonctionnalit du syst#me est associ
la commande crontab ,
un fic!ier de description des t@c!es effectuer.
La commande crontab o$it la syntaxe explicite ci(apr#s.
'yntaxe
crontab [ -u user ] file
crontab [ -u user ] : -l | -r | -e ;
Le premier format de la commande permet d'enre"istrer les commandes effectuer . Le second format permet de
consulter et de maintenir la ta$le de description des t@c!es. Les options disponi$les sont
-u user
L'option -u user permet de prciser pour quel utilisateur, dfini sur le syst#me, les oprations sont
effectuer. %ar dfaut, la commande crontab concernera votre propre ta$le de description.
-l
L'option -l affic!e le contenu de la ta$le de description de l'utilisateur concern sur la sortie standard.
-r
L'option -r rinitialise la ta$le de description de l'utilisateur concern toutes les t@c!es qui y sont dfinies
seront supprimes.
-e
L'option -e permet d'diter la ta$le de description de l'utilisateur concern. L'diteur utilis sera celui prcis
par le contenu de la varia$le d'environnement 3<=>28 ou $ien la varia$le d'environnement ?=@AAB .
Les modifications prendont effet immdiatement apr#s la sortie de l'diteur de texte.
%our plus de prcisions, reportez(vous crontab)*+ .
2.b Fichier de description de tches
Le fic!ier de description des t@c!es va contenir les instructions ncessaires au processus de supervision ,processus
cron)C+ 0. )elui dcrira les oprations de la fa>on suivante excute cette commande ( cette heure l( ce jour&ci .
:ans ce fic!ier,
toute li"ne commen>ant par le caract#re D est i"nore ,li"ne de commentaires0,
les li"nes $lanc!es sont i"nores,
les espaces et les ta$ulations en d$ut de li"ne sont i"nors.
?emarque
Il n%est pas possible de mettre des commentaires au milieu d%une li$ne! Le si$ne de commentaire doit donc )tre
le premier caractre de la li$ne!
7roupe esaip 3 / 6 Unix : commandes at et crontab
)!aque li"ne de description, !ormis les li"nes de commentaires, peuvent , soit dfinir des varia$les d'environnement
pour l'ensem$le des t@c!es effectuer, soit des commandes excuter aux instants spcifis. La dfinition d'une
varia$le d'environnement dans le fic!ier o$it la syntaxe suivante
nom E valeur
oA nom reprsente le nom de la varia$le d'environnement et valeur reprsente la valeur qui lui est affecte. Les
espaces de part et d'autre du si"ne $al E sont optionnels. 'i la valeur affecter la varia$le est une c!a9ne de
caract#res, il est prfra$le de la mettre entre simple quotes , F ou dou$le quotes , G 0.
Pour toutes les commandes qui seront excutes :
leur sortie standard et leur sortie d'erreur standard rediries !ers la boite aux lettres de l"utilisateur#
leur entre standard devra Btre explicitement prcise si cela est ncessaire.
)ertaines varia$les d'environnement sont automatiquement positionnes par le "estionnaire de t@c!es cron)C+
5aria$le :escription
@13BB Cnterprteur de commande par dfaut initialis 4bin4sh , donc le &ourne '!ell.
B2H%AM3 reprsente le nom de connexion de l'utilisateur.
A@38 )ertains utilitaires issus utilisent A@38 plutDt que B2H%AM3 .
12M3 reprsente votre rpertoire de connexion.
MA=B>2
En plus des varia$les B2H%AM3, 12M3 et @13BB, le processus cron)C+ examine le contenu de
la varia$le d'environnement MA=B>2 afin de savoir s'il est ncessaire d'envoyer un messa"e
donnant le rsultat de l'excution des commandes. 'i cette varia$le est dfinie et non vide, elle doit
contenir l'adresse courrier de la personne qui envoyer les messa"es.

Au cas oA aucune option se serait prcis "r@ce la varia$le MA=B>2 , le rsultat produit sur la
sortie standard est envoy dans la $oite aux lettres de l'utilisateur possdant cette liste de t@c!es
excuter.
Les li"nes de description de t@c!es se composent de plusieurs c!amps spars par des espaces ou ta$ulations. )!aque
li"ne poss#de
cinq c!amps prcisant la date et l'!eure laquelle la commande doit Btre lance,
dans le cas oA la ta$le de description est celle de l'administrateur, le nom de l'utilisateur pour lequel on lance la
commande
la commande lancer.
Le service cron)C+examine toutes les minutes, les ta$les de description. Lorsque la date prcise dans une entre
d'une ta$le de description de t@c!es, le service cron)C+ cre un sous processus sous l'identit de la personne et
lance la commande l'intrieur de ce contexte. La spcification de la date et de l'!eure se compose des cinq
informations suivantes
)!amp 5aleurs autorises
minute -(34
!eure -(/2
1our du mois .(2.
mois .(./
1our de la semaine -(E
7roupe esaip $ / 6 Unix : commandes at et crontab
'i l'un de ces c!amps contient le caract#re I , celui(ci ne doit pas Btre pris en compte, ou $ien l'une des $ornes
infrieure ou suprieure doit Btre considre dans la dtermination de la date. %ar exemple
6 * I I I indique tous les jours ( *+,**
6 6 I I * indique tous les lundis ( minuit
6 6 I / 5 indique
tous les mardis du mois de vrier (
minuit
%our c!aque c!amp, il est possi$le de donner
une squence de nom$res spars par des vir"ules,
des pla"es de nom$re, en spcifiant les $ornes infrieurs et suprieures spares par le caract#re - ,
de com$iner les deux possi$ilits.
Exemple
*J- correspond la squence +# -
C-*6 correspond la squence .# /# +*
6--JKJL correspond la squence *# +# 0# 1# 2# -# 3# /
6-7JC-*/ correspond la squence
*# +# 0# 1# 2# .# /# +*# ++#
+0
4ucun espace ne doit )tre
introduit dans les cinq
champs associs ( la date
et ( l%heure de lancement
d%une commande!
Le dernier c!amp, c'est((dire le reste de la li"ne, spcifie la commande excuter. Par consquent# la spcification
doit %tre inscrite sur une seule line. La commande sera excute dans le contexte du &ourne '!ell ,4bin4sh0 ou
celui prcis "r@ce la varia$le d'environnement @13BB .
?emarque
Le jour de l%excution d%une commande peut )tre prcis dans deux champs,
le 1our du mois ,c!amp 20,
le 1our de la semaine ,c!amp 30.
5i ces deux champs sont rensei$ns# c%est&(&dire qu%ils ne contiennent pas le caractre * #
la commande sera excute ds que la date courante correspondra ( l%une des deux
possibilits! 6ar exemple# 30 4 1,15 * 5 indiquera que la commande devra )tre
excute ( *2,1* le et le quin"e de chaque mois# mais aussi tous les vendredi!
2.c Exemple de fichier de description
D Atiliser 4bin4sh our e(ecuter les commandes et non as celui
D rMcisM dans le fichier 4etc4ass#d.
@13BBE4bin4sh
D 3n9o&er un messa"e a GbartG our rediri"er la sortie standard
D toutes les commandes.
MA=B>2Ebart
D
D Commande a lancer - minutes ares minuit chaque jour.
- 6 I I I 012M34bin4dail&.job NN 012M34tm4out /NO*
D Commande a lancer a *7:*- le remier de chaque mois -- la sortie
D standard de la commande arri9e dans la boite au( lettres de GbartG.
*- *7 * I I 012M34bin4monthl&
D Commande a lancer a //:66 tous les jours de la semaine )hors #eek-end+
6 // I I *-- if [ -d 49ar4adm4acct ]P then chacctP else echo Gno acctGP fi
D Autres commandes
/5 6-/54/ I I I echo Ge(ecute tous les jours /5 minutes ares 6hJ /hJ 7h ...G
- 7 I I 6 echo Ge(ecute a 67:6- chaque dimancheG
7roupe esaip & / 6 Unix : commandes at et crontab
3 'estion des t(c)es planifies et cycliques a!ec *ebmin :
7roupe esaip 6 / 6 Unix : commandes at et crontab