890 lines
31 KiB
Groff
890 lines
31 KiB
Groff
.\" This manpage has been automatically generated by docbook2man
|
||
.\" from a DocBook document. This tool can be found at:
|
||
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
|
||
.\" Please send any bug reports, improvements, comments, patches,
|
||
.\" etc. to Steve Cheng <steve@ggi-project.org>.
|
||
.TH "FCRONTAB" "5" "06 July 2014" "07/06/2014" ""
|
||
|
||
.SH NAME
|
||
fcrontab \- Tables de configuration de fcron
|
||
.SH "DESCRIPTION"
|
||
.PP
|
||
Un fichier \fBfcrontab\fR est un fichier qui contient toutes les tables
|
||
utilisées par le démon \fBfcron\fR(8). Cela permet à un utilisateur de dire
|
||
au démon\~: «\~Exécute cette tâche à tel moment\~». Chaque
|
||
utilisateur a sa propre table \fBfcrontab\fR, et les commandes contenues
|
||
dans une table seront exécutées sous l'identifiant du propriétaire de la
|
||
table. Seul le super-utilisateur peut lancer une tâche avec les droits
|
||
d'un autre utilisateur en utilisant l'option runas (voir plus loin).
|
||
.PP
|
||
Les lignes blanches, les lignes débutant par le symbole dièse
|
||
«\~#\~» (qui sont considérées comme étant des commentaires),
|
||
les espaces ou les tabulations placées en début de ligne sont ignorées.
|
||
Chaque ligne d'un fichier \fBfcrontab\fR peut être soit\~:
|
||
.TP 0.2i
|
||
\(bu
|
||
une configuration d'environnement,
|
||
.TP 0.2i
|
||
\(bu
|
||
une configuration d'option,
|
||
.TP 0.2i
|
||
\(bu
|
||
des entrées basées sur la durée totale de fonctionnement du
|
||
système depuis la dernière exécution de la tâche,
|
||
.TP 0.2i
|
||
\(bu
|
||
des entrées basées sur un temps absolu (comme les entrées
|
||
normales de crontab), ou
|
||
.TP 0.2i
|
||
\(bu
|
||
des entrées lancées périodiquement.
|
||
.PP
|
||
Toute ligne logique (une entrée ou une affectation) peut être scindée
|
||
en plusieurs lignes effectives (des lignes finissant par un caractère
|
||
fin de ligne) en plaçant une barre oblique inverse «\~\\\~» avant
|
||
le caractère fin de ligne «\~\\n\~».
|
||
.SS "LA CONFIGURATION DE L'ENVIRONNEMENT"
|
||
.PP
|
||
La configuration de l'environnement est de la forme
|
||
.sp
|
||
.RS
|
||
.PP
|
||
nom = valeur
|
||
.RE
|
||
.PP
|
||
où les espaces autour du signe d'égalité «\~=\~» sont
|
||
ignorées et optionnelles. Les espaces en fin de ligne sont également
|
||
ignorées, mais vous pouvez placer la valeur entre guillemets (simple
|
||
ou double, mais appareillés) pour préserver les caractères blancs dans
|
||
la valeur.
|
||
.PP
|
||
Lorsque \fBfcron\fR exécute une commande, il positionne toujours les
|
||
variables d'environnement
|
||
\fBUSER\fR, \fBHOME\fR, et \fBSHELL\fR
|
||
comme elles sont définies dans \fI/etc/passwd\fR pour
|
||
le propriétaire de la table \fBfcrontab\fR dont la commande est issue.
|
||
Les variables d'environnement \fBHOME\fR et
|
||
\fBSHELL\fR peuvent être écrasées par la configuration
|
||
contenue dans le fichier \fBfcrontab\fR, mais \fBUSER\fR ne
|
||
peut pas l'être. Toute autre affectation d'environnement définie dans
|
||
le \fBfcrontab\fR de l'utilisateur est effectuée et la commande exécutée.
|
||
.PP
|
||
De plus, la variable spéciale MAILTO vous permet
|
||
d'indiquer à \fBfcron\fR à qui envoyer par courriel la sortie de la
|
||
commande. Veuillez noter que MAILTO est en fait
|
||
équivalente à la déclaration globale de l'option mailto (voir
|
||
plus loin). Elle n'est utilisée que pour assurer une
|
||
rétrocompatibilité, aussi, vous devriez plutôt utiliser directement
|
||
l'option mailto\&.
|
||
.SS "ENTRÉES BASÉES SUR LE TEMPS ÉCOULÉ DEPUIS LE DéMARRAGE DU SYSTÈME"
|
||
.PP
|
||
Les entrées des commandes qui doivent être exécutées une fois
|
||
toutes les m minutes de l'exécution de \fBfcron\fR (qui sont normalement
|
||
les mêmes m minutes de l'exécution du système) sont de la forme
|
||
|
||
.nf
|
||
@options fréquence commande
|
||
.fi
|
||
.PP
|
||
où fréquence est une valeur de temps de la forme
|
||
valeur*multiplicateur+valeur*multiplicateur+...+valeur-en-minutes
|
||
comme «\\\~12h02\\\~» ou «\\\~3w2d5h1\\\~». La première
|
||
signifie «\\\~12 heures et 2 minutes d'exécution de fcron\\\~»
|
||
tant dis que la seconde signifie «\\\~3 semaines, 2 jours, 5 heures
|
||
et 1 minute d'exécution de fcron\\\~». Les
|
||
multiplicateurs valides sont\~:
|
||
"MULTIPLICATEURS DE TEMPS VALIDES"
|
||
signification\~: multiplicateurs\~: mois (4 semaines)\~: m semaines (7 jours)\~: w jours (24 heures)\~: d heures (60 minutes)\~: h secondes\~: s
|
||
.PP
|
||
À la place de \fIoptions\fR, l'utilisateur
|
||
peut mettre une valeur de temps qui sera interprétée comme
|
||
@first(\fI<temps>\fR)\&. Si l'option
|
||
first n'est pas positionnée, la valeur de
|
||
«\~fréquence\~» est utilisée.
|
||
.PP
|
||
Ce type d'entrée ne garantie pas une date et heure d'exécution (vu
|
||
que la tâche est retardée à chaque démarrage du système par le temps
|
||
écoulé depuis l'arrêt du système), mais peut être pratique pour des
|
||
tâches dépendant du nombre de choses faites par les utilisateurs (par
|
||
exemple, il vaudrait mieux vérifier le système de fichiers après un
|
||
certain nombre d'utilisation par les utilisateurs plutôt que tous les
|
||
x jours, vu que le système peut être lancé de 1 jour à x jours pendant
|
||
cet intervalle de x jours).
|
||
.PP
|
||
Le temps restant avant la prochaine exécution est sauvegardé
|
||
toutes les 1800 secondes (afin de limiter les dommages provoqués
|
||
par un plantage) et lorsque \fBfcron\fR quitte après avoir reçu un signal
|
||
SIGTERM, c.-à-d. lorsque l'on arrête le système.
|
||
Ainsi, ce type d'entrée est particulièrement utile pour des systèmes
|
||
qui ne tournent pas de manière régulière. La syntaxe étant très simple,
|
||
il est également pratique pour des tâches qui n'ont pas besoin d'être
|
||
exécutées à une date et une heure spécifique.
|
||
.PP
|
||
\fBVoir aussi\fR\~: les options first, mail, nolog,
|
||
serial, lavg, nice, runas (voir plus loin).
|
||
.PP
|
||
.SS "QUELQUES EXEMPLES DE LIGNES BASÉES SUR LE TEMPS ÉCOULÉ DEPUIS LE DÉMARRAGE DU SYSTÈME"
|
||
|
||
.nf
|
||
# Récupérer vos courriels toutes les 30 minutes
|
||
@ 30 getmails -all
|
||
|
||
# Effectuer quelques tests de sécurité toutes les 48 heures de fonctionnement
|
||
# du système, envoyer un courriel au super-utilisateur même s'il n'a pas de sortie
|
||
@mailto(root),forcemail 2d /etc/security/msec/cron-sh/security.sh
|
||
.fi
|
||
.SS "ENTRÉES BASÉES SUR UNE DATE ET UNE HEURE"
|
||
.PP
|
||
Le deuxième type d'entrée d'un fichier \fBfcrontab\fR commence par un
|
||
caractère «\~&\~» optionnel qui peut être immédiatement suivi
|
||
par un nombre optionnel définissant la fréquence d'exécution (ceci est
|
||
équivalent à l'option runfreq) ou par une déclaration
|
||
d'options\~; il possède cinq champs de date et d'heure, ainsi
|
||
qu'une commande shell\~:
|
||
|
||
.nf
|
||
&options min hrs jour-du-mois mois jour-de-la-semaine commande
|
||
.fi
|
||
.PP
|
||
Veuillez noter que la commande shell peut être précédée par un nom
|
||
d'utilisateur, ce qui est équivalent à runas
|
||
(\fI<user>\fR)\~: vu que cela n'existe
|
||
que pour une retrocompatibilité, vous devriez plutôt utiliser l'option
|
||
runas (voir plus loin). La fréquence est interprétée de la façon
|
||
suivante\~: «\~lancer cette commande après x correspondances des
|
||
champs date et heure\~». Les champs date et heure sont\~:
|
||
"CHAMPS DATE ET HEURE"
|
||
champ\~: valeurs permises\~: minute\~: 0-59 heure\~: 0-23 jour du mois\~: 1-31 mois\~: 1-12 (ou leurs noms, voir plus loin) jour de la semaine\~: 0-7 (0 et 7 signifient tous deux le dimanche, ou leurs noms)
|
||
.PP
|
||
Un champ est toujours renseigné soit par une astérique
|
||
«\~*\~», qui signifie un intervalle comme
|
||
«\~premier-dernier, soit un nombre seul, soit une
|
||
liste.
|
||
.PP
|
||
Les listes sont des nombres ou des intervalles séparés par des
|
||
virgules «\~,\~». Par exemple\~: «\~2,5,15,23\~».
|
||
.PP
|
||
Les intervalles de nombres sont de la forme
|
||
«\~\fI<début>\fR-\fI<fin>\fR\~»,
|
||
où «\~\fIdébut\fR\~» et
|
||
«\~\fIfin\fR\~» sont inclus. Par exemple,
|
||
«\~3-5\~» signifie les valeurs 3, 4 et 5. Vous pouvez également
|
||
ajouter un «\~/\fInombre\fR\~» optionnel
|
||
à l'intervalle, où le \fInombre\fR signifie le
|
||
pas dans l'intervalle. Par exemple, «\~0-23/2\~» peut être
|
||
utilisé dans le champ heure pour spécifier l'exécution d'une commande
|
||
toutes les heures paires. Enfin, un ou plusieurs
|
||
«\~~\fInombre\fR\~» peuvent être ajoutés
|
||
afin de désactiver certaines valeurs dans l'intervalle. Par exemple,
|
||
«\~5-8~6~7\~» est équivalent à «\~5,8\~». La forme
|
||
finale d'un champ est\~:
|
||
.sp
|
||
.RS
|
||
.PP
|
||
a[-b[/c][~d][~e][...]][,f[-g[/h][~i][~j][...]]][,...]
|
||
.RE
|
||
.PP
|
||
où les lettres sont des nombres entiers.
|
||
.PP
|
||
Vous pouvez également utiliser unE astérisque «\~*\~» dans
|
||
un champ. Il agira comme «\~premier-dernier\~».
|
||
Par exemple, un «\~*\~» dans le champ minute signifie toutes
|
||
les minutes de la minute 0 à la minute 59.
|
||
.PP
|
||
Des intervalles peuvent être inclus dans une liste comme un simple
|
||
nombre. Par exemple\~: «\~2,5-10/2~6,15,20-25,30\~».
|
||
.PP
|
||
Les noms (Ndt\~: en anglais) peuvent être utilisés pour les
|
||
champs «\~mois\~» et «\~jour de la semaine\~». Pour ce
|
||
faire, utilisez les trois premières lettres du jour ou du mois
|
||
concerné (la casse n'a pas d'importance). Veuillez noter que les noms
|
||
sont utilisés exactement comme les nombres\~: vous pouvez les
|
||
utiliser dans une liste ou un intervalle.
|
||
.PP
|
||
Si un jour de mois et un jour de semaine sont donnés, la commande
|
||
sera exécutée seulement si \fBles deux\fR correspondent
|
||
au jour et à l'heure actuels à moins que l'option dayor n'ait été
|
||
positionnée. Par exemple, avec la ligne
|
||
|
||
.nf
|
||
5 10 31 * 7 echo ''
|
||
.fi
|
||
echo sera exécutée
|
||
seulement les jours qui sont un dimanche ET le 31ème jour du mois,
|
||
à 10:05.
|
||
.PP
|
||
\fBVoir aussi\fR\~: options dayor, bootrun, runfreq,
|
||
mail, nolog, serial, lavg, nice, runas
|
||
(voir plus loin).
|
||
.PP
|
||
.SS "QUELQUES EXEMPLES D'ENTRÉES BASÉES SUR UNE DATE ET UNE HEURE"
|
||
|
||
.nf
|
||
# lancer macommande tous les jours à 12:05, 12:35, 13:05, 13:35,
|
||
# 14:05 *et* 14:35
|
||
& 05,35 12-14 * * * macommande -u moi -o fichier
|
||
|
||
# récupérer les courriels toutes les heures aux minutes 20, 21, 22, et 24.
|
||
20-24~23 * * * * getmail
|
||
|
||
# sauvegarder mon travail de la journée toutes les nuits à 03:45 avec une
|
||
# faible priorité, sauf le dimanche, envoyer la sortie par courriel à jim et
|
||
# lancer cette tâche au démarrage si la machine était éteinte à 03:45
|
||
&nice(10),mailto(jim),bootrun 45 03 * * *~0 "save --mon travail"
|
||
.fi
|
||
.SS "ENTRÉES LANCÉES PÉRIODIQUEMENT"
|
||
.PP
|
||
Le troisième type d'entrée \fBfcrontab\fR commence par le caractère
|
||
«\~%\~», suivi par un mot-clef pris parmi une des trois
|
||
différentes listes, puis par des options.
|
||
.SS "MOTS-CLEFS *LY"
|
||
.PP
|
||
Ces mots-clefs sont\~:
|
||
.PP
|
||
\fIhourly \fR, \fIdaily \fR, \fImonthly \fR, \fIweekly \fR
|
||
.PP
|
||
Ces mots-clefs indiquent à \fBfcron\fR de lancer la commande une fois
|
||
entre le début et la fin de l'intervalle de temps correspondant.
|
||
Un intervalle de temps est, par exemple, le temps compris entre lundi
|
||
16:20 et mercredi 01:43. Par exemple, le mot-clef
|
||
\fIweekly\fR indique à \fBfcron\fR de lancer une
|
||
commande une fois par semaine entre le lundi et le dimanche.
|
||
.PP
|
||
Avec ces deux sortes de mots-clefs, l'utilisateur doit renseigner
|
||
les champs heure nécessaires (comme ils sont définis dans
|
||
«\~Entrées basées sur une date
|
||
et une heure\~» (voir plus haut)) pour préciser quand la
|
||
commande devrait être lancée dans chaque intervalle de temps\~:
|
||
.PP
|
||
"CHAMPS DE TEMPS NÉCESSAIRES À CHAQUE MOT-CLEF"
|
||
Mots-clefs\~: doit être suivi par les champs\~: \fI hourly\fR,
|
||
\fImidhourly\fR\~: minutes.\fI daily\fR,
|
||
\fImiddaily\fR, \fInightly\fR,
|
||
\fIweekly\fR, \fImidweekly\fR\~: minutes et heures.\fI monthly\fR,
|
||
\fImidmonthly\fR : minutes, heures et jours.
|
||
.SS "MOTS-CLEFS MID*LY"
|
||
.PP
|
||
Ils sont similaires aux mots-clefs «\~*ly\~»\~:
|
||
.PP
|
||
\fImidhourly \fR, \fImiddaily \fR, \fInightly \fR, \fImidmonthly \fR, \fImidweekly \fR
|
||
.PP
|
||
Ils fonctionnent exactement comme les mots-clefs
|
||
«\~*ly\~», excepté que les intervalles de temps sont définis
|
||
du milieu au milieu de l'intervalle «\~*ly\~»
|
||
correspondant\~: \fImidweekly\fR lancera une
|
||
commande une fois entre le jeudi et le mercredi. Veuillez noter que
|
||
\fInightly\fR est équivalent à
|
||
\fImiddaily\fR\&.
|
||
.PP
|
||
Par exemple\~:
|
||
.PP
|
||
|
||
.nf
|
||
%nightly,mail(no) * 21-23,3-5 echo "une entrée nigthly"
|
||
.fi
|
||
.PP
|
||
lancera la commande une fois par nuit soit entre 21:00 et 23:59,
|
||
soit entre 3:00 et 5:59 (elle sera exécutée aussitôt que
|
||
possible\~; pour modifier ce comportement, utilisez l'option
|
||
random) et ne pas envoyer de courriel (étant donné que l'option
|
||
mail a été définie à «\~no\~»).
|
||
.PP
|
||
\fBVoir aussi\fR\~: options lavg, noticenotrun, strict,
|
||
mail, nolog, serial, nice, runas,
|
||
random (voir plus loin).
|
||
.SS "MOTS-CLEFS *S"
|
||
.PP
|
||
Ce sont\~:
|
||
.PP
|
||
\fImins \fR, \fIhours \fR, \fIdays \fR, \fImons \fR, \fIdow \fR
|
||
.PP
|
||
Ces mots-clefs agissent différemment, comme suit\~:
|
||
.PP
|
||
lancer cette commande unE fois durant CHAQUE intervalle de temps
|
||
spécifié, ignorant les champs suivants le mot-clef dans la définition
|
||
de l'intervalle de temps (un \fIhours\fR empêche le
|
||
champ \fImins\fR d'être considéré comme un intervalle de temps, mais il
|
||
sera utilisé pour déterminer quand la ligne devra être lancée au
|
||
cours de l'intervalle\~: voir la note plus loin)
|
||
(\fIdow\fR signifie «\~day of week\~»).
|
||
.PP
|
||
Un tel mot-clef est suivi par 5 champs de date et d'heure (les
|
||
mêmes champs utilisés pour une ligne
|
||
basée sur un temps absolu (voir plus haut). De plus, avec
|
||
cette sorte de mots-clefs, il doit y avoir sur les lignes des dates
|
||
et heures qui ne correspondent pas (c.-à-d. que ce qui suit n'est
|
||
pas permis\~:
|
||
|
||
.nf
|
||
%hours * 0-23 * * * echo "Ligne INCORRECTE !"
|
||
.fi
|
||
mais ceci l'est\~:
|
||
|
||
.nf
|
||
%hours * 0-22 * * * echo "Ok."
|
||
.fi
|
||
.sp
|
||
.RS
|
||
.B "Note:"
|
||
.PP
|
||
un nombre seul dans un champ est considéré comme un intervalle
|
||
de temps\~:
|
||
|
||
.nf
|
||
%mins 15 2-4 * * * echo
|
||
.fi
|
||
lancera
|
||
echo tous les jours à 2:15, 3:15 ET 4:15.
|
||
.PP
|
||
Mais tous les champs suivants les mots-clefs sont ignorés dans
|
||
la définition d'un intervalle de temps\~:
|
||
|
||
.nf
|
||
%hours 15 2-4 * * * echo
|
||
.fi
|
||
lancera
|
||
echo seulement UNE FOIS soit à 2:15, soit à 3:15 OU BIEN à 4:15.
|
||
.RE
|
||
.PP
|
||
\fBVoir aussi\fR\~: option random (voir plus loin).
|
||
.SS "OPTIONS"
|
||
.PP
|
||
Les options peuvent être positionnées soit pour chaque ligne située
|
||
après la déclaration, soit pour une ligne de manière individuelle. Dans
|
||
le premier cas, la configuration est faite sur une ligne complète après
|
||
un point d'exclamation «\~!\~», dans le second cas, elle est
|
||
faite après l'un des symboles suivants «\~&\~», «\~%\~»
|
||
ou «\~@\~», suivant le type de planification. Veuillez noter
|
||
qu'une déclaration d'option dans une planification écrase la
|
||
déclaration globale de la même option.
|
||
.PP
|
||
Les options sont séparées par des virgules «\~,\~» et leurs
|
||
arguments, s'il y en a, sont placés entre parenthèses «\~(\~»
|
||
et «\~)\~». Les espaces ne sont pas permises. Une déclaration
|
||
d'option est de la forme
|
||
.sp
|
||
.RS
|
||
.PP
|
||
\fIoption\fR[(\fIarg1\fR[,\fIarg2\fR][...])][,\fIoption\fR[(\fIarg1\fR[...])]][...]
|
||
.RE
|
||
.PP
|
||
où \fIoption\fR est soit le nom complet de
|
||
l'option, soit son abréviation. Les options sont (avec leur valeur
|
||
par défaut entre parenthèses)\~:
|
||
"OPTIONS VALIDES DANS UN FICHIER FCRONTAB"
|
||
.TP
|
||
\fBbootrun\fR
|
||
.TP
|
||
\fBb\fR
|
||
\fBbooléen\fR(false)
|
||
|
||
Lancer une ligne «\~&\~» au démarrage de \fBfcron\fR si
|
||
celle-ci avait dû être lancée pendant l'arrêt du système.
|
||
.TP
|
||
\fBdayand\fR
|
||
\fBbooléen\fR(true)
|
||
|
||
Effectuer un ET logique entre le jour de la semaine et le
|
||
jour du mois.
|
||
|
||
\fBVoir aussi\fR\~: option dayor\&.
|
||
.TP
|
||
\fBdayor\fR
|
||
\fBbooléen\fR(false)
|
||
|
||
Effectuer un OU logique entre le jour de la semaine et le
|
||
jour du mois.
|
||
|
||
\fBVoir aussi\fR\~: option dayand\&.
|
||
.TP
|
||
\fBerroronlymail\fR
|
||
\fBbooléen\fR(false)
|
||
|
||
Envoyer la sortie par courriel uniquement si la tâche a retourné une valeur de sortie autre que zéro.
|
||
|
||
\fBVoir aussi\fR\~: options mail, mailto, nolog, forcemail\&.
|
||
.TP
|
||
\fBexesev\fR
|
||
\fBbooléen\fR(false)
|
||
|
||
Une tâche peut-elle être exécutée plusieurs fois
|
||
simultanément\~?
|
||
|
||
\fBVoir aussi\fR\~: options serialonce, lavgonce\&.
|
||
.TP
|
||
\fBfirst\fR
|
||
.TP
|
||
\fBf\fR
|
||
\fBtime-value\fR
|
||
|
||
Temps avant la première exécution d'une tâche basée sur le
|
||
temps de fonctionnement du système (lignes «\~@\~»).
|
||
Utile dans les cas suivants\~: vous avez plusieurs tâches à
|
||
exécuter, disons, toutes les heures. En positionnant différentes
|
||
valeurs «\~first\~» pour chaque tâche, vous évitez
|
||
que celles-ci soient lancées simultanément chaque fois.
|
||
Vous pouvez également la mettre à 0, ce qui est pratique
|
||
lorsqu'elle est utilisée avec l'option volatile\&.
|
||
.TP
|
||
\fBforcemail\fR
|
||
\fBbooléen\fR(false)
|
||
|
||
Envoyer la sortie par courriel même si celle-ci est vide.
|
||
|
||
\fBVoir aussi\fR\~: options mail, mailto, erroronlymail, nolog\&.
|
||
.TP
|
||
\fBlavg\fR
|
||
\fBréel\fR(0)
|
||
\fBréel\fR(0)
|
||
\fBréel\fR(0)
|
||
|
||
Définir les valeurs de la charge moyenne du système sur 1,
|
||
5 et 15 minutes (dans cet ordre) en dessous desquelles la tâche
|
||
pourra être lancée. Ces valeurs ne peuvent avoir qu'une seule
|
||
décimale (c.-à-d. «\~2.3\~»). S'il y en a plus, la valeur
|
||
sera arrondie. Mettre une valeur à 0 pour ignorer la charge
|
||
moyenne correspondante. Si vous mettez toutes les valeurs à 0,
|
||
la tâche sera lançée sans tenir compte de la charge système.
|
||
|
||
\fBVoir aussi\fR\~: options lavg1, lavg5, lavg15,
|
||
until, lavgonce, lavgor, lavgand,
|
||
strict, noticenotrun\&.
|
||
.TP
|
||
\fBlavg1\fR
|
||
.TP
|
||
\fBlavg5\fR
|
||
.TP
|
||
\fBlavg15\fR
|
||
\fBréel\fR(0)
|
||
|
||
Définir le seuil des valeurs de charge moyenne du système
|
||
sur 1, 5 ou 15 minutes. Définir l'une d'elles à 0 pour ignorer
|
||
la charge moyenne correspondante.
|
||
|
||
\fBVoir aussi\fR\~: options lavg\&.
|
||
.TP
|
||
\fBlavgand\fR
|
||
\fBbooléen\fR(true)
|
||
|
||
Effectuer un ET logique entre les valeurs de charge moyenne
|
||
du système à 1, 5 et 15 minutes.
|
||
|
||
\fBVoir aussi\fR\~: options lavg, lavgor\&.
|
||
.TP
|
||
\fBlavgonce\fR
|
||
\fBbooléen\fR(1)
|
||
|
||
Une tâche peut-elle être mise plusieurs fois simultanément
|
||
dans la file d'attente charge moyenne du système (Ndt\~:
|
||
lavg queue)\~?
|
||
|
||
\fBVoir aussi\fR\~: options lavg\&.
|
||
.TP
|
||
\fBlavgor\fR
|
||
\fBbooléen\fR(false)
|
||
|
||
Effectuer un OU logique entre les valeurs de charge moyenne
|
||
du système à 1, 5 et 15 minutes.
|
||
|
||
\fBVoir aussi\fR\~: options lavg, lavgand\&.
|
||
.TP
|
||
\fBmail\fR
|
||
.TP
|
||
\fBm\fR
|
||
\fBbooléen\fR(true)
|
||
|
||
Envoyer la sortie (s'il y en a) par courriel, ou non.
|
||
|
||
\fBVoir aussi\fR\~: options mailto, forcemail, nolog\&.
|
||
.TP
|
||
\fBmailto\fR
|
||
\fBemail-address\fR(nom
|
||
du propriétaire du fichier)
|
||
|
||
Envoyer la sortie (si nécessaire) par courriel à
|
||
«\~\fIemail-address\fR\~». Cela
|
||
peut être soit un nom d'utilisateur, soit une adresse courriel
|
||
complète. Une mailto déclarée mais vide (chaîne "") est
|
||
équivalente à «\~mail(false)\~».
|
||
|
||
\fBVoir aussi\fR\~: options mail, forcemail, nolog\&.
|
||
.TP
|
||
\fBnice\fR
|
||
.TP
|
||
\fBn\fR
|
||
\fBnice-value\fR
|
||
|
||
Modifier la priorité de la tâche. Une
|
||
\fBnice-value\fR est un entier
|
||
compris entre -20 (plus forte priorité) et 19 (plus faible
|
||
priorité). Seul le super-utilisateur est autorisé à utiliser
|
||
une valeur négative pour cette option.
|
||
.TP
|
||
\fBnolog\fR
|
||
\fBbooléen\fR(false)
|
||
|
||
Si elle est positionnée à «\~true\~», journaliser
|
||
seulement les erreurs des tâches correspondantes. Peut être
|
||
utile pour des tâches lancées très fréquemment, et/ou pour
|
||
réduire les accès disque sur un ordinateur portable.
|
||
|
||
\fBVoir aussi\fR\~: options mail, mailto, forcemail\&.
|
||
.TP
|
||
\fBnoticenotrun\fR
|
||
\fBbooléen\fR(false)
|
||
|
||
\fBfcron\fR devrait-il prévenir l'utilisateur par courriel de la
|
||
non exécution d'une tâche «\~%\~» ou d'une tâche
|
||
«\~&\~»\~? (à cause de l'arrêt du système dans les
|
||
deux cas ou d'une charge moyenne trop élevée dans le second cas).
|
||
|
||
\fBVoir aussi\fR\~: options lavg, strict\&.
|
||
.TP
|
||
\fBrandom\fR
|
||
\fBbooléen\fR(false)
|
||
|
||
Dans une ligne lancée
|
||
périodiquement, cette option répond à la question\~:
|
||
«\~Cette tâche devrait-elle être lancée aussitôt que possible
|
||
dans son intervalle de temps d'exécution (plus sûr), ou bien
|
||
\fBfcron\fR doit-il définir une date et heure aléatoire d'exécution
|
||
dans ce même intervalle de temps\~?\~». Veuillez noter
|
||
que si cette option est positionnée, la tâche peut ne pas être
|
||
lancée si \fBfcron\fR n'est pas en cours d'exécution durant
|
||
\fBtout\fR l'intervalle d'exécution. En outre,
|
||
sachez qu'il peut être relativement facile pour une personne
|
||
compétente de deviner l'heure de la prochaine exécution d'une
|
||
tâche utilisant l'option random\~: il est donc préférable
|
||
de ne pas baser la sécurité de quelque chose de sensible sur
|
||
l'aléa de cette option. Cependant, cela ne devrait pas poser de
|
||
problème pour la plupart de ses utilisations.
|
||
.TP
|
||
\fBreset\fR
|
||
\fBbooléen\fR
|
||
|
||
Positionner toutes les options à leur valeur par défaut.
|
||
.TP
|
||
\fBrunas\fR
|
||
\fButilisateur\fR
|
||
|
||
Lancer avec les permissions et l'environnement de
|
||
«\~\fIutilisateur\fR\~» (seul le
|
||
super-utilisateur est autorisé à utiliser cette option).
|
||
.TP
|
||
\fBrunfreq\fR
|
||
.TP
|
||
\fBr\fR
|
||
\fBentier\fR
|
||
|
||
Lancer toutes les «\~\fIrunfreq\fR\~»
|
||
correspondances de date et d'heure. (Cette option est ignorée
|
||
dans le cas d'entrées basées sur le temps
|
||
écoulé depuis le démarrage du système).
|
||
.TP
|
||
\fBserial\fR
|
||
.TP
|
||
\fBs\fR
|
||
\fBbooléen\fR(false)
|
||
|
||
\fBFcron\fR fait tourner au plus 1 tâche(s)
|
||
séquentielle(s) en même temps (c.-à-d. pour lesquelles l'option
|
||
serial est définie), et autant de tâches qui sont à la fois
|
||
séquentielles et dont l'exécution dépend aussi de la charge
|
||
système (autrement dit pour lesquelles les options serial et
|
||
lavg sont définies). Cette valeur peut être modifiée grâce à
|
||
l'option \fB-m\fR de \fBfcron\fR\&. Cette option trouve
|
||
toute son utilité dans le cas de tâches lourdes afin
|
||
d'éviter une surcharge du système.
|
||
|
||
\fBVoir aussi\fR\~: options serialonce, lavg\&.
|
||
.TP
|
||
\fBserialonce\fR
|
||
\fBbooléen\fR(0)
|
||
|
||
Une tâche peut-elle être mise plusieurs fois simultanément
|
||
dans la file d'attente séquentielle\~? (Ndt\~: serial
|
||
queue)
|
||
|
||
\fBVoir aussi\fR\~: options exesev, lavgonce\&.
|
||
.TP
|
||
\fBstdout\fR
|
||
\fBbooléen\fR(false)
|
||
|
||
Si \fBfcron\fR s'exécute en arrière plan, permettre la sortie
|
||
des tâches sur stderr/stdout plutôt que par courriel ou que
|
||
l'ignorer.
|
||
|
||
\fBVoir aussi\fR\~: option \fB--once\fR de \fBfcron\fR(8)\&.
|
||
.TP
|
||
\fBstrict\fR
|
||
\fBbooléen\fR(true)
|
||
|
||
Lorsqu'une tâche «\~%\~» de la file d'attente charge
|
||
moyenne du système (Ndt\~: lavg queue) est à la fin de
|
||
l'intervalle de temps d'exécution, doit-elle être retirée de la
|
||
file d'attente (strict(true), ainsi la tâche ne sera pas
|
||
exécutée), ou bien doit-elle y rester jusqu'à ce que la charge
|
||
moyenne du système permette son exécution (strict(false))\~?
|
||
|
||
\fBVoir aussi\fR\~: options lavg, noticenotrun\&.
|
||
.TP
|
||
\fBtimezone\fR
|
||
\fBtimezone-name\fR(fuseau
|
||
horaire du système)
|
||
|
||
Lancer la tâche dans le fuseau horaire fourni. timezone-name
|
||
est une chaîne qui doit être valide du point de vue de la
|
||
variable d'environnement TZ\~: consultez la documentation de
|
||
votre système pour plus de détails. Par exemple,
|
||
«\~Europe/Paris\~» est valide sur un système Linux.
|
||
Cette option gère correctement le changement d'heure.
|
||
|
||
Veuillez noter que si vous fournissez un argument
|
||
timezone-name erroné, celui-ci sera SILENCIEUSEMENT ignoré,
|
||
et la tâche sera exécutée dans le fuseau horaire du système.
|
||
|
||
ATTENTION\~: N'utilisez PAS simultanément les options
|
||
timezone et tzdiff\~! Cela n'a pas de raison d'être, et
|
||
timezone est plus maligne que tzdiff.
|
||
|
||
\fBVoir aussi\fR\~: option tzdiff\&.
|
||
.TP
|
||
\fBtzdiff\fR
|
||
\fBentier\fR(0)
|
||
|
||
ATTENTION\~: cette option est obsolète\~: utilisez
|
||
plutôt l'option timezone\~!
|
||
|
||
Différence de fuseau horaire (en heures, valeur comprise
|
||
entre -24 et 24) entre l'heure du système et l'heure locale
|
||
réelle. Cette option permet à l'utilisateur de définir ses lignes
|
||
«\~&\~» et «\~%\~» en temps local. Veuillez
|
||
noter que cette valeur est définie pour l'ensemble du fichier
|
||
\fBfcrontab\fR, et que seule la dernière déclaration est prise en
|
||
compte. tzdiff est quelque peu stupide\~: elle ne gère pas
|
||
le changement d'heure alors que l'option timezone le fait,
|
||
aussi, vous devriez utiliser cette dernière.
|
||
|
||
\fBVoir aussi\fR\~: option timezone\&.
|
||
.TP
|
||
\fBuntil\fR
|
||
\fBtime-value\fR(0)
|
||
|
||
Définir le délai d'attente maximal pour les valeurs de
|
||
charge système. Si le délai est dépassé, la tâche sera lancée
|
||
indépendemment de la charge système. Définir until à 0 pour
|
||
désactiver le délai d'attente.
|
||
|
||
\fBVoir aussi\fR\~: option lavg\&.
|
||
.TP
|
||
\fBvolatile\fR
|
||
\fBbooléen\fR(false)
|
||
|
||
Quand cette option est activée, la tâche est basée sur un
|
||
temps «\~volatile\~», qu'on pourrait aussi qualifier de
|
||
«\~non persistant\~». Plus précisément, \fBfcron\fR ne
|
||
«\~retient\~» pas le temps écoulé depuis la dernière
|
||
exécution des tâches «\~volatiles\~» entre deux
|
||
démarrages de \fBfcron\fR, et agit comme si les lignes avaient été
|
||
fraîchement ajoutées à chaque démarrage de \fBfcron\fR\&. Ainsi,
|
||
l'option first s'appliquera par exemple pour les lignes
|
||
«\~volatiles\~» à chaque démarrage de fcron. Cette option
|
||
est en particulier utile lorsque \fBfcron\fR est lancé à partir d'un
|
||
script qui tourne, par exemple, seulement pendant une connexion
|
||
à Internet non permanente\~: l'exécution des tâches
|
||
«\~volatiles\~» est alors basée sur le temps depuis le
|
||
début de la connexion et le lancement de \fBfcron\fR plutôt que sur
|
||
le temps absolu. Enfin, veuillez noter que cette option s'associe
|
||
bien à l'option first\&.
|
||
|
||
\fBVoir aussi\fR\~: options first, stdout, Entrées basées sur le temps écoulé depuis le
|
||
démarrage du système, l'option \fB--once\fR de
|
||
\fBfcron\fR dans \fBfcron\fR(8)\&.
|
||
.PP
|
||
Un argument de type \fBbooléen\fR peut ne pas être indiqué,
|
||
auquel cas les parenthèses ne seront pas utilisées et il sera
|
||
interprété comme étant true\~; les chaînes
|
||
«\~true\~», «\~yes\~» ou «\~1\~» signifient
|
||
true\~; et les chaînes «\~false\~»,
|
||
«\~no\~» ou «\~0\~» signifient
|
||
false\&. Voir plus haut les explications sur les
|
||
valeurs de temps (section «\~Entrées basées
|
||
sur le temps écoulé depuis le démarrage du système\~»).
|
||
.PP
|
||
Veuillez noter que dayand et
|
||
dayor sont, en fait, la même option\~: une valeur
|
||
«\~false\~» pour dayand est équivalente à
|
||
une valeur «\~true\~» pour dayor et
|
||
réciproquement, une valeur «\~false\~» pour
|
||
dayor est équivalente à une valeur
|
||
«\~true\~» pour dayand\&. C'est également
|
||
le cas pour les options lavgand et
|
||
lavgor\&.
|
||
.PP
|
||
Veuillez noter un cas particulier à gérer\~: une tâche aurait
|
||
due être placée dans la file d'attente séquentielle, *mais* la
|
||
précédente entrée de cette tâche n'est pas encore achevée à cause
|
||
d'une forte charge système ou d'un quelconque événement extérieur.
|
||
L'option serialonce répond à cette question\~:
|
||
«\~La nouvelle entrée de cette tâche doit-elle être
|
||
ignorée\~?\~». De cette façon, on peut distinguer d'une part
|
||
les tâches sans contrainte forte sur l'heure d'exécution qui doivent
|
||
être exécutées un nombre de fois bien défini (serial(yes),
|
||
serialonce(false)), et d'autre part les tâches toujours sans contrainte
|
||
forte sur l'heure d'exécution mais dont le nombre d'exécutions n'est
|
||
pas important ou qu'il est inutile de lancer deux fois d'affilée
|
||
(serial(true), serialonce(true)), qu'on ne rentrera donc pas une
|
||
deuxième fois dans la file séquentielle de façon à éviter de charger
|
||
le système inutilement. Par exemple, «\~Payer ses employés\~»
|
||
est une tâche qui doit être exécutée exactement une fois par mois
|
||
(serialonce(false)), alors que «\~faire le ménage\~» doit être
|
||
exécutée de préférence une fois par semaine, mais il est inutile de le
|
||
faire deux fois d'affilée si par hasard on avait pris du retard
|
||
(serialonce(true)).
|
||
.PP
|
||
Les mêmes considérations s'appliquent pour la file d'attente charge
|
||
système et peuvent être exprimées par l'option
|
||
lavgonce\&.
|
||
.PP
|
||
De plus, si les files d'attente séquentielle et charge système
|
||
contiennent respectivement plus de 30 et 30
|
||
tâches, toute nouvelle tâche sera rejetée (et donc non exécutée) pour
|
||
éviter une saturation de ressources système. Dans ce cas, un message
|
||
d'erreur sera journalisé à travers syslog.
|
||
.PP
|
||
Enfin, s'il reste des tâches dans les files d'attente séquentielle
|
||
et charge système au moment de l'arrêt de \fBfcron\fR, celles-ci seront
|
||
déposées une fois dans leur file correspondante au redémarrage
|
||
(l'ordre peut ne pas être conservé).
|
||
.PP
|
||
.SS "EXEMPLE DE DÉCLARATION D'OPTION\\~:"
|
||
|
||
.nf
|
||
!reset,serial(true),dayor,bootrun(0),mailto(root),lavg(.5,2,1.5)
|
||
.fi
|
||
.SH "EXEMPLES"
|
||
.PP
|
||
.SS "EXEMPLE D'UN FICHIER FCRONTAB UTILISATEUR"
|
||
|
||
.nf
|
||
# utiliser /bin/bash pour lancer les commandes, quoique puisse indiquer /etc/passwd
|
||
SHELL=/bin/bash
|
||
|
||
# envoyer la sortie par courriel à l'utilisateur thib,
|
||
# quelque soit le propriétaire de ce fcrontab.
|
||
!mailto(thib)
|
||
|
||
# définir une variable équivalente à " Salut thib et paul ! "
|
||
# les caractères «\~nouvelle ligne\~» sont échappés avec
|
||
# une barre oblique inverse «\~\\\~» et les guillemets servent
|
||
# à conserver les espaces de début et de fin de chaîne
|
||
TEXT= " Salut\\
|
||
thib et\\
|
||
paul ! "
|
||
|
||
# on veut utiliser la file d'attente séquentielle mais pas l'option bootrun
|
||
!serial(true),b(0)
|
||
|
||
# lancer la première fois après 5 minutes de fonctionnement du système,
|
||
# puis toutes les heures par la suite
|
||
@first(5) 1h echo "Lancer toutes les heures"
|
||
|
||
# lancer tous les jours
|
||
@ 1d echo "fcron quotidien"
|
||
|
||
# lancer une fois dans la matinée et une fois dans l'après-midi si le système
|
||
# est en fonctionnement à n'importe quel moment pendant ces intervalles de temps
|
||
%hours * 8-12,14-18 * * * echo "Hé patron, je bosse aujourd'hui !"
|
||
|
||
# lancer une fois par semaine à l'heure du déjeuner
|
||
%weekly * 12-13 echo "J'ai laissé allumé mon système au moins une fois\\
|
||
à l'heure du déjeuner cette semaine."
|
||
|
||
# lancer tous les samedi et dimanche à 9:05
|
||
5 9 * * sat,sun echo "Bonjour Thibault !"
|
||
|
||
# lancer tous les jours pairs du mois de mars à 18:00, sauf le 16
|
||
0 18 2-30/2~16 Mar * echo "Il est temps de se rentrer à la maison !"
|
||
|
||
# la ligne précédente est équivalente à
|
||
& 0 18 2-30/2~16 Mar * echo "Il est temps de se rentrer à la maison !"
|
||
|
||
# mettre toutes les options à leur valeur par défaut et définir runfreq
|
||
# pour les lignes qui vont suivre
|
||
!reset,runfreq(7)
|
||
|
||
# lancer une fois toutes les 7 correspondances (grâce à la déclaration précédente),
|
||
# ainsi, si le système est en fonctionnement tous les jours à 10 heures,
|
||
# la commande sera lancée une fois par semaine
|
||
& 0 10 * * * echo "Si vous avez vu ce message pour la dernière fois il y a 7 jours,\\
|
||
c'est que cette machine a fonctionné tous les jours à 10 heures durant la dernière semaine.\\
|
||
Si vous avez eu ce message il y a 8 jours, c'est que cette machine n'a pas fonctionné\\
|
||
un jour à 10:00 heures depuis le dernier message, etc."
|
||
|
||
# attendre toutes les heures que la charge système moyenne sur 5 minutes
|
||
# soit inférieure à 0.9
|
||
@lavg5(0.9) 1h echo "La charge moyenne système est faible"
|
||
|
||
# attendre au maximum 5 heures chaque jour une baisse de la charge système
|
||
@lavgand,lavg(1,2.0,3.0),until(5h) 1d echo "La charge système vient de diminuer"
|
||
|
||
# attendre le meilleur moment pour lancer une tâche lourde
|
||
@lavgor,lavg(0.8,1.2,1.5),nice(10) 1w echo "C'est une très lourde tâche"
|
||
|
||
# lancer une fois toutes les nuits soit entre 21:00 et 23:00,
|
||
# soit entre 3:00 et 6:00
|
||
%nightly,lavg(1.5,2,2) * 21-23,3-6 echo "Il est temps de récupérer\\
|
||
la dernière version de Mozilla !"
|
||
.fi
|
||
.SH "FICHIERS"
|
||
.TP
|
||
\fB\fI/usr/local/etc/fcron.conf\fB\fR
|
||
Fichier de configuration de \fBfcron\fR, \fBfcrontab\fR et \fBfcrondyn\fR\~:
|
||
contient les chemins (répertoire spool, fichier pid) et les
|
||
programmes par défaut à utiliser (éditeur, shell, etc.). Voir
|
||
\fBfcron.conf\fR(5) pour plus de
|
||
détails.
|
||
.TP
|
||
\fB\fI/usr/local/etc/fcron.allow\fB\fR
|
||
Utilisateurs autorisés à utiliser \fBfcrontab\fR et \fBfcrondyn\fR
|
||
(un seul nom par ligne, le nom spécial «\~all\~»
|
||
signifiant tout le monde).
|
||
.TP
|
||
\fB\fI/usr/local/etc/fcron.deny\fB\fR
|
||
Utilisateurs qui ne sont pas autorisés à utiliser \fBfcrontab\fR
|
||
et \fBfcrondyn\fR (même format que le fichier précédent).
|
||
.TP
|
||
\fB\fI/usr/local/etc/pam.d/fcron\fB (ou \fI/usr/local/etc/pam.conf\fB)\fR
|
||
Fichier de configuration PAM pour
|
||
\fBfcron\fR\&. Voir \fBpam\fR(8) pour plus de détails.
|
||
.SH "VOIR AUSSI"
|
||
|
||
\fBfcrontab\fR(1),
|
||
|
||
\fBfcrondyn\fR(1),
|
||
|
||
\fBfcrontab\fR(5),
|
||
|
||
\fBfcron.conf\fR(5),
|
||
|
||
\fBfcron\fR(8).
|
||
|
||
Si vous êtes en train d'apprendre à utiliser fcron, je vous
|
||
suggère plutôt de lire la version HTML de la documentation (si ce n'est pas
|
||
déjà ce que vous faites en ce moment\~! :) )\~: le contenu est le même, mais
|
||
il est plus aisé de naviguer grâce aux hyperliens.
|
||
.SH "AUTEUR"
|
||
.PP
|
||
Thibault Godouet <fcron@free.fr>
|
||
.SH "TRADUCTION"
|
||
.PP
|
||
Ce document est une traduction réalisée par Alain Portal
|
||
<aportal AT univ-montp2 DOT fr> le 6 février 2006.
|
||
.PP
|
||
L'équipe de traduction a fait le maximum pour réaliser une adaptation
|
||
française de qualité. La version anglaise la plus à jour de ce document
|
||
est toujours consultable via la commande\~: «\~\fBLANG=en
|
||
man 5 fcrontab\fR\~».
|
||
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas,
|
||
toute erreur dans cette page de manuel.
|