Copyright © 2000-2026 Thibault Godouet | Fcron 3.4.1 | Web page : http://fcron.free.fr

Documentation de fcron
Prev |  | Next

# fcrontab

## Name

fcrontab -- Tables de configuration de fcron

## Description

Un fichier fcrontab est un fichier qui contient toutes les tables utilises par le dmon fcron(8). Cela permet un utilisateur de dire au dmon: Excute cette tche tel moment. Chaque utilisateur a sa propre table fcrontab, et les commandes contenues dans une table seront excutes sous l'identifiant du propritaire de la table. Seul le super-utilisateur peut lancer une tche avec les droits d'un autre utilisateur en utilisant l'option `runas` (voir plus loin).

Les lignes blanches, les lignes dbutant par le symbole dise # (qui sont considres comme tant des commentaires), les espaces ou les tabulations places en dbut de ligne sont ignores. Chaque ligne d'un fichier fcrontab peut tre soit:

- une configuration d'environnement,

- une configuration d'option,

- des entres bases sur la dure totale de fonctionnement du systme depuis la dernire excution de la tche,

- des entres bases sur un temps absolu (comme les entres normales de crontab), ou

- des entres lances priodiquement.

Toute ligne logique (une entre ou une affectation) peut tre scinde en plusieurs lignes effectives (des lignes finissant par un caractre fin de ligne) en plaant une barre oblique inverse \ avant le caractre 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 ignores et optionnelles. Les espaces en fin de ligne sont galement ignores, mais vous pouvez placer la valeur entre guillemets (simple ou double, mais appareills) pour prserver les caractres blancs dans la valeur.

Lorsque fcron excute une commande, il positionne toujours les variables d'environnement `USER`, `HOME`, et `SHELL` comme elles sont dfinies dans `/etc/passwd` pour le propritaire de la table fcrontab dont la commande est issue. Les variables d'environnement `HOME` et `SHELL` peuvent tre crases par la configuration contenue dans le fichier fcrontab, mais `USER` ne peut pas l'tre. Toute autre affectation d'environnement dfinie dans le fcrontab de l'utilisateur est effectue et la commande excute.

De plus, la variable spciale `MAILTO` vous permet d'indiquer fcron qui envoyer par courriel la sortie de la commande. Veuillez noter que `MAILTO` est en fait quivalente la dclaration globale de l'option `mailto` (voir plus loin). Elle n'est utilise que pour assurer une rtrocompatibilit, aussi, vous devriez plutt utiliser directement l'option `mailto`.

### Entres bases sur le temps coul depuis le dmarrage du systme

Les entres des commandes qui doivent tre excutes une fois toutes les m minutes de l'excution de fcron (qui sont normalement les mmes m minutes de l'excution du systme) sont de la forme

    @options frquence commande

o frquence est une valeur de temps de la forme valeur*multiplicateur+valeur*multiplicateur+...+valeur-en-minutes comme \12h02\ ou \3w2d5h1\. La premire signifie \12 heures et 2 minutes d'excution de fcron\ tant dis que la seconde signifie \3 semaines, 2 jours, 5 heures et 1 minute d'excution 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 interprte comme @first(`temps`). Si l'option `first` n'est pas positionne, la valeur de `frquence` est utilise.

Ce type d'entre ne garantie pas une date et heure d'excution (vu que la tche est retarde chaque dmarrage du systme par le temps coul depuis l'arrt du systme), mais peut tre pratique pour des tches dpendant du nombre de choses faites par les utilisateurs (par exemple, il vaudrait mieux vrifier le systme de fichiers aprs un certain nombre d'utilisation par les utilisateurs plutt que tous les x jours, vu que le systme peut tre lanc de 1 jour x jours pendant cet intervalle de x jours).

Le temps restant avant la prochaine excution est sauvegard toutes les 1800 secondes (afin de limiter les dommages provoqus par un plantage) et lorsque fcron quitte aprs avoir reu un signal `SIGTERM`, c.--d. lorsque l'on arrte le systme. Ainsi, ce type d'entre est particulirement utile pour des systmes qui ne tournent pas de manire rgulire. La syntaxe tant trs simple, il est galement pratique pour des tches qui n'ont pas besoin d'tre excutes une date et une heure spcifique.

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

Example 2-1. Quelques exemples de lignes bases sur le temps coul depuis le dmarrage du systme

    # Rcuprer vos courriels toutes les 30 minutes
    @ 30 getmails -all

    # Effectuer quelques tests de scurit toutes les 48 heures de fonctionnement
    # du systme, envoyer un courriel au super-utilisateur mme s'il n'a pas de sortie
    @mailto(root),forcemail 2d /etc/security/msec/cron-sh/security.sh

### Entres bases sur une date et une heure

Le deuxime type d'entre d'un fichier fcrontab commence par un caractre & optionnel qui peut tre immdiatement suivi par un nombre optionnel dfinissant la frquence d'excution (ceci est quivalent l'option `runfreq`) ou par une dclaration d'options; il possde 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 prcde par un nom d'utilisateur, ce qui est quivalent runas (`user`): vu que cela n'existe que pour une retrocompatibilit, vous devriez plutt utiliser l'option `runas` (voir plus loin). La frquence est interprte de la faon suivante: lancer cette commande aprs 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 astrique *, qui signifie un intervalle comme premier-dernier, soit un nombre seul, soit une liste.

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

Les intervalles de nombres sont de la forme `dbut`-`fin`, o `dbut` 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 spcifier l'excution d'une commande toutes les heures paires. Enfin, un ou plusieurs ~`nombre` peuvent tre ajouts afin de dsactiver 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 astrisque * 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 utiliss pour les champs mois et jour de la semaine. Pour ce faire, utilisez les trois premires lettres du jour ou du mois concern (la casse n'a pas d'importance). Veuillez noter que les noms sont utiliss 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 donns, la commande sera excute seulement si les deux correspondent au jour et l'heure actuels moins que l'option `dayor` n'ait t positionne. Par exemple, avec la ligne

    5 10 31 * 7 echo ''

echo sera excute seulement les jours qui sont un dimanche ET le 31me 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'entres bases 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

    # rcuprer les courriels toutes les heures aux minutes 20, 21, 22, et 24.
    20-24~23 * * * * getmail

    # sauvegarder mon travail de la journe toutes les nuits  03:45 avec une
    # faible priorit, sauf le dimanche, envoyer la sortie par courriel  jim et
    # lancer cette tche au dmarrage si la machine tait teinte  03:45
    &nice(10),mailto(jim),bootrun 45 03 * * *~0 "save --mon travail"

### Entres lances priodiquement

Le troisime type d'entre fcrontab commence par le caractre %, suivi par un mot-clef pris parmi une des trois diffrentes 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 dbut 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 ncessaires (comme ils sont dfinis dans Entres bases sur une date et une heure (voir plus haut)) pour prciser quand la commande devrait tre lance dans chaque intervalle de temps:

Table 2-3. Champs de temps ncessaires 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 dfinis 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 entre nigthly"

lancera la commande une fois par nuit soit entre 21:00 et 23:59, soit entre 3:00 et 5:59 (elle sera excute aussitt que possible; pour modifier ce comportement, utilisez l'option `random`) et ne pas envoyer de courriel (tant donn que l'option `mail` a t dfinie 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 diffremment, comme suit:

lancer cette commande unE fois durant CHAQUE intervalle de temps spcifi, ignorant les champs suivants le mot-clef dans la dfinition de l'intervalle de temps (un `hours` empche le champ `mins` d'tre considr comme un intervalle de temps, mais il sera utilis pour dterminer quand la ligne devra tre lance 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 mmes champs utiliss pour une ligne base 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 considr 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 ignors dans la dfinition 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 positionnes soit pour chaque ligne situe aprs la dclaration, soit pour une ligne de manire individuelle. Dans le premier cas, la configuration est faite sur une ligne complte aprs un point d'exclamation !, dans le second cas, elle est faite aprs l'un des symboles suivants &, % ou @, suivant le type de planification. Veuillez noter qu'une dclaration d'option dans une planification crase la dclaration globale de la mme option.

Les options sont spares par des virgules , et leurs arguments, s'il y en a, sont placs entre parenthses ( et ). Les espaces ne sont pas permises. Une dclaration d'option est de la forme

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

o `option` est soit le nom complet de l'option, soit son abrviation. Les options sont (avec leur valeur par dfaut entre parenthses):

Options valides dans un fichier fcrontab

bootrun, b

  boolen(`false`)

  Lancer une ligne & au dmarrage de fcron si celle-ci avait d tre lance pendant l'arrt du systme.

dayand

  boolen(`true`)

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

  Voir aussi: option `dayor`.

dayor

  boolen(`false`)

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

  Voir aussi: option `dayand`.

erroronlymail

  boolen(`false`)

  Envoyer la sortie par courriel uniquement si la tche a retourn une valeur de sortie autre que zro.

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

exesev

  boolen(`false`)

  Une tche peut-elle tre excute plusieurs fois simultanment?

  Voir aussi: options `serialonce`, `lavgonce`.

first, f

  time-value

  Temps avant la premire excution d'une tche base sur le temps de fonctionnement du systme (lignes @). Utile dans les cas suivants: vous avez plusieurs tches excuter, disons, toutes les heures. En positionnant diffrentes valeurs first pour chaque tche, vous vitez que celles-ci soient lances simultanment chaque fois. Vous pouvez galement la mettre 0, ce qui est pratique lorsqu'elle est utilise avec l'option `volatile`.

forcemail

  boolen(`false`)

  Envoyer la sortie par courriel mme si celle-ci est vide.

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

lavg

  rel(`0`) rel(`0`) rel(`0`)

  Dfinir les valeurs de la charge moyenne du systme sur 1, 5 et 15 minutes (dans cet ordre) en dessous desquelles la tche pourra tre lance. Ces valeurs ne peuvent avoir qu'une seule dcimale (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 tche sera lane sans tenir compte de la charge systme.

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

lavg1, lavg5, lavg15

  rel(`0`)

  Dfinir le seuil des valeurs de charge moyenne du systme sur 1, 5 ou 15 minutes. Dfinir l'une d'elles 0 pour ignorer la charge moyenne correspondante.

  Voir aussi: options `lavg`.

lavgand

  boolen(`true`)

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

  Voir aussi: options `lavg`, `lavgor`.

lavgonce

  boolen(`1`)

  Une tche peut-elle tre mise plusieurs fois simultanment dans la file d'attente charge moyenne du systme (Ndt: lavg queue)?

  Voir aussi: options `lavg`.

lavgor

  boolen(`false`)

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

  Voir aussi: options `lavg`, `lavgand`.

mail, m

  boolen(`true`)

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

  Voir aussi: options `mailto`, `forcemail`, `nolog`.

mailto

  email-address(`nom du propritaire du fichier`)

  Envoyer la sortie (si ncessaire) par courriel `email-address`. Cela peut tre soit un nom d'utilisateur, soit une adresse courriel complte. Une `mailto` dclare mais vide (chane "") est quivalente mail(false).

  Voir aussi: options `mail`, `forcemail`, `nolog`.

nice, n

  nice-value

  Modifier la priorit de la tche. 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 ngative pour cette option.

nolog

  boolen(`false`)

  Si elle est positionne true, journaliser seulement les erreurs des tches correspondantes. Peut tre utile pour des tches lances trs frquemment, et/ou pour rduire les accs disque sur un ordinateur portable.

  Voir aussi: options `mail`, `mailto`, `forcemail`.

noticenotrun

  boolen(`false`)

  fcron devrait-il prvenir l'utilisateur par courriel de la non excution d'une tche % ou d'une tche &? ( cause de l'arrt du systme dans les deux cas ou d'une charge moyenne trop leve dans le second cas).

  Voir aussi: options `lavg`, `strict`.

random

  boolen(`false`)

  Dans une ligne lance priodiquement, cette option rpond la question: Cette tche devrait-elle tre lance aussitt que possible dans son intervalle de temps d'excution (plus sr), ou bien fcron doit-il dfinir une date et heure alatoire d'excution dans ce mme intervalle de temps?. Veuillez noter que si cette option est positionne, la tche peut ne pas tre lance si fcron n'est pas en cours d'excution durant tout l'intervalle d'excution. En outre, sachez qu'il peut tre relativement facile pour une personne comptente de deviner l'heure de la prochaine excution d'une tche utilisant l'option random: il est donc prfrable de ne pas baser la scurit de quelque chose de sensible sur l'ala de cette option. Cependant, cela ne devrait pas poser de problme pour la plupart de ses utilisations.

reset

  boolen

  Positionner toutes les options leur valeur par dfaut.

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 ignore dans le cas d'entres bases sur le temps coul depuis le dmarrage du systme).

serial, s

  boolen(`false`)

  Fcron fait tourner au plus 1 tche(s) squentielle(s) en mme temps (c.--d. pour lesquelles l'option serial est dfinie), et autant de tches qui sont la fois squentielles et dont l'excution dpend aussi de la charge systme (autrement dit pour lesquelles les optionsserial et lavg sont dfinies). Cette valeur peut tre modifie grce l'option `-m` de fcron. Cette option trouve toute son utilit dans le cas de tches lourdes afin d'viter une surcharge du systme.

  Voir aussi: options `serialonce`, `lavg`.

serialonce

  boolen(`0`)

  Une tche peut-elle tre mise plusieurs fois simultanment dans la file d'attente squentielle? (Ndt: serial queue)

  Voir aussi: options `exesev`, `lavgonce`.

stdout

  boolen(`false`)

  Si fcron s'excute en arrire plan, permettre la sortie des tches sur stderr/stdout plutt que par courriel ou que l'ignorer.

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

strict

  boolen(`true`)

  Lorsqu'une tche % de la file d'attente charge moyenne du systme (Ndt: lavg queue) est la fin de l'intervalle de temps d'excution, doit-elle tre retire de la file d'attente (strict(true), ainsi la tche ne sera pas excute), ou bien doit-elle y rester jusqu' ce que la charge moyenne du systme permette son excution (strict(false))?

  Voir aussi: options `lavg`, `noticenotrun`.

timezone

  timezone-name(`fuseau horaire du systme`)

  Lancer la tche dans le fuseau horaire fourni. timezone-name est une chane qui doit tre valide du point de vue de la variable d'environnement TZ: consultez la documentation de votre systme pour plus de dtails. Par exemple, Europe/Paris est valide sur un systme Linux. Cette option gre correctement le changement d'heure.

  Veuillez noter que si vous fournissez un argument timezone-name erron, celui-ci sera SILENCIEUSEMENT ignor, et la tche sera excute dans le fuseau horaire du systme.

  ATTENTION: N'utilisez PAS simultanment 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 obsolte: utilisez plutt l'option timezone!

  Diffrence de fuseau horaire (en heures, valeur comprise entre -24 et 24) entre l'heure du systme et l'heure locale relle. Cette option permet l'utilisateur de dfinir ses lignes & et % en temps local. Veuillez noter que cette valeur est dfinie pour l'ensemble du fichier fcrontab, et que seule la dernire dclaration est prise en compte. tzdiff est quelque peu stupide: elle ne gre pas le changement d'heure alors que l'option timezone le fait, aussi, vous devriez utiliser cette dernire.

  Voir aussi: option `timezone`.

until

  time-value(`0`)

  Dfinir le dlai d'attente maximal pour les valeurs de charge systme. Si le dlai est dpass, la tche sera lance indpendemment de la charge systme. Dfinir until 0 pour dsactiver le dlai d'attente.

  Voir aussi: option `lavg`.

volatile

  boolen(`false`)

  Quand cette option est active, la tche est base sur un temps volatile, qu'on pourrait aussi qualifier de non persistant. Plus prcisment, fcron ne retient pas le temps coul depuis la dernire excution des tches volatiles entre deux dmarrages de fcron, et agit comme si les lignes avaient t frachement ajoutes chaque dmarrage de fcron. Ainsi, l'option `first` s'appliquera par exemple pour les lignes volatiles chaque dmarrage 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'excution des tches volatiles est alors base sur le temps depuis le dbut de la connexion et le lancement de fcron plutt que sur le temps absolu. Enfin, veuillez noter que cette option s'associe bien l'option `first`.

  Voir aussi: options `first`, `stdout`, Entres bases sur le temps coul depuis le dmarrage du systme, l'option `--once` de fcron dans fcron(8).

Un argument de type boolen peut ne pas tre indiqu, auquel cas les parenthses ne seront pas utilises et il sera interprt comme tant `true`; les chanes true, yes ou 1 signifient `true`; et les chanes false, no ou 0 signifient `false`. Voir plus haut les explications sur les valeurs de temps (section Entres bases sur le temps coul depuis le dmarrage du systme).

Veuillez noter que `dayand` et `dayor` sont, en fait, la mme option: une valeur false pour `dayand` est quivalente une valeur true pour `dayor` et rciproquement, 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 grer: une tche aurait due tre place dans la file d'attente squentielle, *mais* la prcdente entre de cette tche n'est pas encore acheve cause d'une forte charge systme ou d'un quelconque vnement extrieur. L'option `serialonce` rpond cette question: La nouvelle entre de cette tche doit-elle tre ignore?. De cette faon, on peut distinguer d'une part les tches sans contrainte forte sur l'heure d'excutionqui doivent tre excutes un nombre de fois bien dfini (serial(yes), serialonce(false)), et d'autre part les tches toujours sans contrainte forte sur l'heure d'excution mais dont le nombre d'excutions n'est pas important ou qu'il est inutile de lancer deux fois d'affile (serial(true), serialonce(true)), qu'on ne rentrera donc pas une deuxime fois dans la file squentielle de faon viter de charger le systme inutilement. Par exemple, Payer ses employs est une tche qui doit tre excute exactement une fois par mois (serialonce(false)), alors que faire le mnage doit tre excute de prfrence une fois par semaine, mais il est inutile de le faire deux fois d'affile si par hasard on avait pris du retard (serialonce(true)).

Les mmes considrations s'appliquent pour la file d'attente charge systme et peuvent tre exprimes par l'option `lavgonce`.

De plus, si les files d'attente squentielle et charge systme contiennent respectivement plus de 30 et 30 tches, toute nouvelle tche sera rejete (et donc non excute) pour viter une saturation de ressources systme. Dans ce cas, un message d'erreur sera journalis travers syslog.

Enfin, s'il reste des tches dans les files d'attente squentielle et charge systme au moment de l'arrt de fcron, celles-ci seront dposes une fois dans leur file correspondante au redmarrage (l'ordre peut ne pas tre conserv).

Example 2-3. Exemple de dclaration 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 propritaire de ce fcrontab.
    !mailto(thib)

    # dfinir une variable quivalente  " Salut thib et paul ! "
    # les caractres nouvelle ligne sont chapps avec
    # une barre oblique inverse \ et les guillemets servent
    #  conserver les espaces de dbut et de fin de chane
    TEXT= " Salut\
     thib et\
     paul ! "

    # on veut utiliser la file d'attente squentielle mais pas l'option bootrun
    !serial(true),b(0)

    # lancer la premire fois aprs 5 minutes de fonctionnement du systme,
    # 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 matine et une fois dans l'aprs-midi si le systme
    # 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 djeuner
    %weekly * 12-13 echo "J'ai laiss allum mon systme au moins une fois\
      l'heure du djeuner 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 prcdente 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 dfaut et dfinir runfreq
    # pour les lignes qui vont suivre
    !reset,runfreq(7)

    # lancer une fois toutes les 7 correspondances (grce  la dclaration prcdente),
    # ainsi, si le systme est en fonctionnement tous les jours  10 heures,
    # la commande sera lance une fois par semaine
    & 0 10 * * * echo "Si vous avez vu ce message pour la dernire fois il y a 7 jours,\
     c'est que cette machine a fonctionn tous les jours  10 heures durant la dernire 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 systme moyenne sur 5 minutes
    # soit infrieure  0.9
    @lavg5(0.9) 1h echo "La charge moyenne systme est faible"

    # attendre au maximum 5 heures chaque jour une baisse de la charge systme
    @lavgand,lavg(1,2.0,3.0),until(5h) 1d echo "La charge systme vient de diminuer"

    # attendre le meilleur moment pour lancer une tche lourde
    @lavgor,lavg(0.8,1.2,1.5),nice(10) 1w echo "C'est une trs lourde tche"

    # 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 rcuprer\
     la dernire version de Mozilla !"

## Fichiers

`/usr/local/etc/fcron.conf`

  Fichier de configuration de fcron, fcrontab et fcrondyn: contient les chemins (rpertoire spool, fichier pid) et les programmes par dfaut utiliser (diteur, shell, etc.). Voir fcron.conf(5) pour plus de dtails.

`/usr/local/etc/fcron.allow`

  Utilisateurs autoriss utiliser fcrontab et fcrondyn (un seul nom par ligne, le nom spcial all signifiant tout le monde).

`/usr/local/etc/fcron.deny`

  Utilisateurs qui ne sont pas autoriss utiliser fcrontab et fcrondyn (mme format que le fichier prcdent).

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

  Fichier de configuration PAM pour fcron. Voir pam(8) pour plus de dtails.

## Voir aussi

fcrontab(1),
fcrondyn(1),
fcrontab(5),
fcron.conf(5),
fcron(8).
Si vous tes en train d'apprendre utiliser fcron, je vous suggre plutt de lire la version HTML de la documentation (si ce n'est pas dj ce que vous faites en ce moment! :) ): le contenu est le mme, mais il est plus ais de naviguer grce aux hyperliens.

## Auteur

Thibault Godouet `<fcron@free.fr>`

## Traduction

Ce document est une traduction ralise par Alain Portal <aportal AT univ-montp2 DOT fr> le 6 fvrier 2006.

L'quipe de traduction a fait le maximum pour raliser une adaptation franaise de qualit. La version anglaise la plus jour de ce document est toujours consultable via la commande: LANG=en man 5 fcrontab. N'hsitez pas signaler l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.

Prev | Home | Next
fcrontab | Up | fcrondyn