fcrontab

Name

fcrontab -- Tables de configuration de fcron

Description

Un fichier fcrontab est un fichier qui contient toutes les tables utilis�es par le d�mon fcron(8). Cela permet � un utilisateur de dire au d�mon�: ��Ex�cute cette t�che � tel moment��. Chaque utilisateur a sa propre table fcrontab, 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).

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 fcrontab peut �tre soit�:

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��.

La configuration de l'environnement

La configuration de l'environnement est de la forme

nom = valeur

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.

Lorsque fcron ex�cute une commande, il positionne toujours les variables d'environnement USER, HOME, et SHELL comme elles sont d�finies dans /etc/passwd pour le propri�taire de la table fcrontab dont la commande est issue. Les variables d'environnement HOME et SHELL peuvent �tre �cras�es par la configuration contenue dans le fichier fcrontab, mais USER ne peut pas l'�tre. Toute autre affectation d'environnement d�finie dans le fcrontab de l'utilisateur est effectu�e et la commande ex�cut�e.

De plus, la variable sp�ciale MAILTO vous permet d'indiquer � fcron � 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.

Entr�es bas�es sur le temps �coul� depuis le d�marrage du syst�me

Les entr�es des commandes qui doivent �tre ex�cut�es une fois toutes les m minutes de l'ex�cution de fcron (qui sont normalement les m�mes m minutes de l'ex�cution du syst�me) sont de la forme

@options fr�quence commande

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�:

Table 2-1. Multiplicateurs de temps valides

signification�: multiplicateurs�:
mois (4 semaines)�: m
semaines (7 jours)�: w
jours (24 heures)�: d
heures (60 minutes)�: h
secondes�: s

� la place de options, l'utilisateur peut mettre une valeur de temps qui sera interpr�t�e comme @first(temps). Si l'option first n'est pas positionn�e, la valeur de ��fr�quence�� est utilis�e.

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).

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 fcron 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.

Voir aussi�: les options first, mail, nolog, serial, lavg, nice, runas (voir plus loin).

Example 2-1. Quelques exemples de lignes bas�es sur le temps �coul� depuis le d�marrage du syst�me

# 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

Entr�es bas�es sur une date et une heure

Le deuxi�me type d'entr�e d'un fichier fcrontab 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�:

&options min hrs jour-du-mois mois jour-de-la-semaine commande

Veuillez noter que la commande shell peut �tre pr�c�d�e par un nom d'utilisateur, ce qui est �quivalent � runas (user)�: 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�:

Table 2-2. 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)

Un champ est toujours renseign� soit par une ast�rique ��*��, qui signifie un intervalle comme ��premier-dernier, soit un nombre seul, soit une liste.

Les listes sont des nombres ou des intervalles s�par�s par des virgules ��,��. Par exemple�: ��2,5,15,23��.

Les intervalles de nombres sont de la forme ��d�but-fin��, o� ��d�but�� et ��fin�� sont inclus. Par exemple, ��3-5�� signifie les valeurs 3, 4 et 5. Vous pouvez �galement ajouter un ��/nombre�� optionnel � l'intervalle, o� le nombre 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 ��~nombre�� 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�:

a[-b[/c][~d][~e][...]][,f[-g[/h][~i][~j][...]]][,...]

o� les lettres sont des nombres entiers.

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.

Des intervalles peuvent �tre inclus dans une liste comme un simple nombre. Par exemple�: ��2,5-10/2~6,15,20-25,30��.

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.

Si un jour de mois et un jour de semaine sont donn�s, la commande sera ex�cut�e seulement si les deux correspondent au jour et � l'heure actuels � moins que l'option dayor n'ait �t� positionn�e. Par exemple, avec la ligne

5 10 31 * 7 echo ''
echo sera ex�cut�e seulement les jours qui sont un dimanche ET le 31�me jour du mois, � 10:05.

Voir aussi�: options dayor, bootrun, runfreq, mail, nolog, serial, lavg, nice, runas (voir plus loin).

Example 2-2. Quelques exemples d'entr�es bas�es sur une date et une heure

# 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"

Entr�es lanc�es p�riodiquement

Le troisi�me type d'entr�e fcrontab commence par le caract�re ��%��, suivi par un mot-clef pris parmi une des trois diff�rentes listes, puis par des options.

Mots-clefs *ly

Ces mots-clefs sont�:

hourly , daily , monthly , weekly

Ces mots-clefs indiquent � fcron 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 weekly indique � fcron de lancer une commande une fois par semaine entre le lundi et le dimanche.

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�:

Table 2-3. Champs de temps n�cessaires � chaque mot-clef

Mots-clefs�: doit �tre suivi par les champs�:
hourly, midhourly�: minutes.
daily, middaily, nightly, weekly, midweekly�: minutes et heures.
monthly, midmonthly : minutes, heures et jours.

Mots-clefs mid*ly

Ils sont similaires aux mots-clefs ��*ly���:

midhourly , middaily , nightly , midmonthly , midweekly

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�: midweekly lancera une commande une fois entre le jeudi et le mercredi. Veuillez noter que nightly est �quivalent � middaily.

Par exemple�:

%nightly,mail(no) * 21-23,3-5 echo "une entr�e nigthly"

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��).

Voir aussi�: options lavg, noticenotrun, strict, mail, nolog, serial, nice, runas, random (voir plus loin).

Mots-clefs *s

Ce sont�:

mins , hours , days , mons , dow

Ces mots-clefs agissent diff�remment, comme suit�:

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 hours emp�che le champ mins 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) (dow signifie ��day of week��).

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�:

%hours * 0-23 * * * echo "Ligne INCORRECTE !"
mais ceci l'est�:
%hours * 0-22 * * * echo "Ok."

Note: un nombre seul dans un champ est consid�r� comme un intervalle de temps�:

%mins 15 2-4 * * * echo
lancera echo tous les jours � 2:15, 3:15 ET 4:15.

Mais tous les champs suivants les mots-clefs sont ignor�s dans la d�finition d'un intervalle de temps�:

%hours 15 2-4 * * * echo
lancera echo seulement UNE FOIS soit � 2:15, soit � 3:15 OU BIEN � 4:15.

Voir aussi�: option random (voir plus loin).

Options

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.

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

option[(arg1[,arg2][...])][,option[(arg1[...])]][...]

o� option 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

bootrun, b

bool�en(false)

Lancer une ligne ��&�� au d�marrage de fcron si celle-ci avait d� �tre lanc�e pendant l'arr�t du syst�me.

dayand

bool�en(true)

Effectuer un ET logique entre le jour de la semaine et le jour du mois.

Voir aussi�: option dayor.

dayor

bool�en(false)

Effectuer un OU logique entre le jour de la semaine et le jour du mois.

Voir aussi�: option dayand.

erroronlymail

bool�en(false)

Envoyer la sortie par courriel uniquement si la t�che a retourn� une valeur de sortie autre que z�ro.

Voir aussi�: options mail, mailto, nolog, forcemail.

exesev

bool�en(false)

Une t�che peut-elle �tre ex�cut�e plusieurs fois simultan�ment�?

Voir aussi�: options serialonce, lavgonce.

first, f

time-value

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.

forcemail

bool�en(false)

Envoyer la sortie par courriel m�me si celle-ci est vide.

Voir aussi�: options mail, mailto, erroronlymail, nolog.

lavg

r�el(0) r�el(0) r�el(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.

Voir aussi�: options lavg1, lavg5, lavg15, until, lavgonce, lavgor, lavgand, strict, noticenotrun.

lavg1, lavg5, lavg15

r�el(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.

Voir aussi�: options lavg.

lavgand

bool�en(true)

Effectuer un ET logique entre les valeurs de charge moyenne du syst�me � 1, 5 et 15 minutes.

Voir aussi�: options lavg, lavgor.

lavgonce

bool�en(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)�?

Voir aussi�: options lavg.

lavgor

bool�en(false)

Effectuer un OU logique entre les valeurs de charge moyenne du syst�me � 1, 5 et 15 minutes.

Voir aussi�: options lavg, lavgand.

mail, m

bool�en(true)

Envoyer la sortie (s'il y en a) par courriel, ou non.

Voir aussi�: options mailto, forcemail, nolog.

mailto

email-address(nom du propri�taire du fichier)

Envoyer la sortie (si n�cessaire) par courriel � ��email-address��. 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)��.

Voir aussi�: options mail, forcemail, nolog.

nice, n

nice-value

Modifier la priorit� de la t�che. Une nice-value 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.

nolog

bool�en(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.

Voir aussi�: options mail, mailto, forcemail.

noticenotrun

bool�en(false)

fcron 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).

Voir aussi�: options lavg, strict.

random

bool�en(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 fcron 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 fcron n'est pas en cours d'ex�cution durant tout 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.

reset

bool�en

Positionner toutes les options � leur valeur par d�faut.

runas

utilisateur

Lancer avec les permissions et l'environnement de ��utilisateur�� (seul le super-utilisateur est autoris� � utiliser cette option).

runfreq, r

entier

Lancer toutes les ��runfreq�� 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).

serial, s

bool�en(false)

Fcron 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 -m de fcron. Cette option trouve toute son utilit� dans le cas de t�ches lourdes afin d'�viter une surcharge du syst�me.

Voir aussi�: options serialonce, lavg.

serialonce

bool�en(0)

Une t�che peut-elle �tre mise plusieurs fois simultan�ment dans la file d'attente s�quentielle�? (Ndt�: serial queue)

Voir aussi�: options exesev, lavgonce.

stdout

bool�en(false)

Si fcron 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.

Voir aussi�: option --once de fcron(8).

strict

bool�en(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))�?

Voir aussi�: options lavg, noticenotrun.

timezone

timezone-name(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.

Voir aussi�: option tzdiff.

tzdiff

entier(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 fcrontab, 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.

Voir aussi�: option timezone.

until

time-value(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.

Voir aussi�: option lavg.

volatile

bool�en(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, fcron ne ��retient�� pas le temps �coul� depuis la derni�re ex�cution des t�ches ��volatiles�� entre deux d�marrages de fcron, et agit comme si les lignes avaient �t� fra�chement ajout�es � chaque d�marrage de fcron. Ainsi, l'option first s'appliquera par exemple pour les lignes ��volatiles�� � chaque d�marrage de fcron. Cette option est en particulier utile lorsque fcron 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 fcron plut�t que sur le temps absolu. Enfin, veuillez noter que cette option s'associe bien � l'option first.

Voir aussi�: options first, stdout, Entr�es bas�es sur le temps �coul� depuis le d�marrage du syst�me, l'option --once de fcron dans fcron(8).

Un argument de type bool�en 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��).

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.

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)).

Les m�mes consid�rations s'appliquent pour la file d'attente charge syst�me et peuvent �tre exprim�es par l'option lavgonce.

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.

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 fcron, celles-ci seront d�pos�es une fois dans leur file correspondante au red�marrage (l'ordre peut ne pas �tre conserv�).

Example 2-3. Exemple de d�claration d'option�:

!reset,serial(true),dayor,bootrun(0),mailto(root),lavg(.5,2,1.5)

Exemples

Example 2-4. Exemple d'un fichier fcrontab utilisateur

# 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 !"

Fichiers

/usr/local/etc/fcron.conf

Fichier de configuration de fcron, fcrontab et fcrondyn�: contient les chemins (r�pertoire spool, fichier pid) et les programmes par d�faut � utiliser (�diteur, shell, etc.). Voir fcron.conf(5) pour plus de d�tails.

/usr/local/etc/fcron.allow

Utilisateurs autoris�s � utiliser fcrontab et fcrondyn (un seul nom par ligne, le nom sp�cial ��all�� signifiant tout le monde).

/usr/local/etc/fcron.deny

Utilisateurs qui ne sont pas autoris�s � utiliser fcrontab et fcrondyn (m�me format que le fichier pr�c�dent).

/usr/local/etc/pam.d/fcron (ou /usr/local/etc/pam.conf)

Fichier de configuration PAM pour fcron. Voir pam(8) pour plus de d�tails.

Voir aussi

fcrontab(1),
fcrondyn(1),
fcrontab(5),
fcron.conf(5),
fcron(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.

Auteur

Thibault Godouet

Traduction

Ce document est une traduction r�alis�e par Alain Portal <aportal AT univ-montp2 DOT fr> le 6 f�vrier 2006.

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�: ��LANG=en man 5 fcrontab��. N'h�sitez pas � signaler � l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.