Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
fcron [Le 22/03/2008, 21:42]
Canigou 66 (ou racine): > (ou racine) :
fcron [Le 11/09/2022, 11:06] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>gutsy feisty edgy divers brouillon}}+{{tag>Xenial cron}}
  
 ------ ------
- 
  
 ====== Programmer des tâches avec FCRON ====== ====== Programmer des tâches avec FCRON ======
- 
  
 ===== Qu'​est-ce que FCron ? ===== ===== Qu'​est-ce que FCron ? =====
  
-**FCron** est un //daemon// utilisé pour programmer des tâches devant être exécutées à un moment précis ou au contraire périodiquement. ​ Chaque utilisateur a un fichier fcrontab, ​leur permettant d'​indiquer les actions et à quelles ​ périodes elles devront être exécutées. FCron a pour but de remplacer le couple [[Cron]] - [[Anacron]],​ et d'en faire un unique logiciel intégré.+**FCron** est un //daemon// utilisé pour programmer des tâches devant être exécutées à un moment précis ou au contraire périodiquement. ​ Chaque utilisateur a un fichier fcrontab, ​lui permettant d'​indiquer les actions et à quelles ​ périodes elles devront être exécutées. FCron a pour but de remplacer le couple [[Cron]] - [[Anacron]],​ et d'en faire un unique logiciel intégré.
  
  
Ligne 15: Ligne 13:
 ===== Avantages de FCron par rapport à Cron et Anacron ===== ===== Avantages de FCron par rapport à Cron et Anacron =====
  
-FCron permet de pallier les défauts de Cron et d'​Anacron : contrairement à eux si jamais l'​ordinateur est éteint FCron relance la tâche au démarrage (ce que ne permet pas Cron) et si l'​ordinateur est allumé il la lance (ce que ne permet ​par Anacron).+FCron permet de pallier les défauts de Cron et d'​Anacron : contrairement à eux si jamais l'​ordinateur est éteint FCron relance la tâche au démarrage (ce que ne permet pas Cron) et si l'​ordinateur est allumé il la lance (ce que ne permet ​pas Anacron).
  
-De plus la syntaxe de FCron, bien que compatible avec celle de Cron et d'​Anacron,​ est bien plus évoluée et ajoute de nouvelles possibilités pour paramétrer le comportement du planificateur de tâches.+De plus la syntaxe de FCron, bien que compatible avec celle de Cron et d'​Anacron,​ est bien plus évoluée et ajoute de nouvelles possibilités pour paramétrer le comportement du planificateur de tâches..
  
  
Ligne 24: Ligne 22:
   * Disposer des [[:​sudo|droits d'​administration]] ;   * Disposer des [[:​sudo|droits d'​administration]] ;
   * Disposer d'une connexion à Internet configurée et activée ;   * Disposer d'une connexion à Internet configurée et activée ;
-  * Avoir activé ​l'​accès aux [[:​depots|dépôts APT]] « universe ».+  * Avoir activé ​désinstallé anacron(?) 
  
  
 ===== Installation ===== ===== Installation =====
 +Compilez le paquet à partir des sources disponibles [[http://​fcron.free.fr/​download.php|ici]]. (une installation de sendmail pourra être nécessaire).
  
-Pour installer FCron, il suffit de taper ceci dans un terminal :+===== Utilisation simplifiée (pour les pressés !) =====
  
-<​code>​sudo apt-get install fcron</​code>​+Ex : pour lancer un script toutes les 10 heures :
  
-Ou d'​utiliser [[:​synaptic|Synaptic]] pour installer le paquet fcron.+  fcrontab -e
  
 +Ecrivez dedans :
  
 +  @ 10h /​home/​utilisateur/​script.sh
 +
 +Faire CTRL + O pour enregistrer puis CTRL + X pour quitter
  
 ===== Commandes pour FCron ===== ===== Commandes pour FCron =====
Ligne 47: Ligne 51:
 <​code>​fcrontab -l</​code>​ <​code>​fcrontab -l</​code>​
  
-Quand vous sortez de l'​éditeur,​ le nouveau fichier **fcrontab** sera installé. Le fichier ​est stocké ​dans ///​var/​spool/​fcron/​fcrontabs/<​user>​// mais doit seulement être édité par l'​intermédiaire de la commande **fcrontab**.+Quand vous sortez de l'​éditeur,​ le nouveau fichier ​pour **fcron** sera installé. Les instructions générées avec **fcrontab** sont stockées sous la forme de 2 fichiers. Le répertoire d'​accueil des fichiers ​est indiqué ​dans /​etc/​fcron.conf,​ c'est habituellement ​///​var/​spool/​fcron// ​
 +L'un des fichiers est écrit au format texte et il est nommé ​<​user>​.orig (<​user>​ étant le nom de l'​utilisateur qui lance **fcrontab**), ​mais doit seulement être édité par l'​intermédiaire de la commande **fcrontab**. 
 +L'​autre fichier est nommé <​user>​ et n'est pas éditable ; il est réservé à **fcron**.
  
  
 L'​éditeur utilisé pour modifier la fcrontab peut être modifié par la commande : L'​éditeur utilisé pour modifier la fcrontab peut être modifié par la commande :
 <​code>​sudo update-alternatives --config editor</​code>​ <​code>​sudo update-alternatives --config editor</​code>​
 +ou, provisoirement,​ en modifiant la variable d'​environnement VISUAL, par exemple :
 +<​code>​export VISUAL="​gedit"</​code>​
  
 +L'​éditeur par défaut est nano. Pendant l'​édition avec **fcrontab**,​ nano utilise un fichier temporaire de la forme /​tmp/​wxyz1234. 
 +Il est inutile de se préoccuper de ce fichier temporaire et on peut sauver les modifications sous ce nom, lorsqu'​on quitte **fcrontab**,​ celui-ci génère bien les fichiers comme indiqué ci-dessus suivant /​etc/​fcron.conf .
  
  
 ===== Comment fonctionne FCron ? ===== ===== Comment fonctionne FCron ? =====
  
-La syntaxe ​du frontab ​définit 3 types de ligne d'​exécution. Chacune correspond à une manière de décrire une tâche à exécuter. Il y a ainsi les &​-lignes,​ les %-lignes et les @-lignes. +La syntaxe ​de fcrontab ​définit 3 types de ligne d'​exécution. Chacune correspond à une manière de décrire une tâche à exécuter. Il y a ainsi les &​-lignes,​ les %-lignes et les @-lignes.
- +
- +
- +
- +
- +
- +
  
  
Ligne 74: Ligne 76:
 <​code>&​options min hrs jour-du-mois mois jour-de-la-semaine commande</​code>​ <​code>&​options min hrs jour-du-mois mois jour-de-la-semaine commande</​code>​
  
-Les valeurs permises pour les différents champs "​min",​ "​hrs",​ etc... sont :+Les valeurs permises pour les différents champs "​min",​ "​hrs",​ etc. sont :
  
 ^ Champ               ^ Valeurs permises ​    ^ ^ Champ               ^ Valeurs permises ​    ^
-minute ​             | 0-59                 |+minutes ​             | 0-59                 |
 | heures ​             | 0-23                 | | heures ​             | 0-23                 |
 | jour du mois        | 1-31                 | | jour du mois        | 1-31                 |
Ligne 87: Ligne 89:
 Un champ est toujours renseigné soit par un astérisque « * », qui signifie un intervalle comme « premier-dernier,​ soit un nombre seul, soit une liste. Un champ est toujours renseigné soit par un astérisque « * », qui signifie un intervalle comme « premier-dernier,​ soit un nombre seul, soit une liste.
  
-Si vous mettez un 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.+Si vous mettez un astérisque « * » dans un champ. Il agira comme « premier-dernier ». Par exemple, un « * » dans le champ minutes ​signifie toutes les minutes de la minute 0 à la minute 59.
  
 Les listes sont des nombres ou des intervalles séparés par des virgules « , ». Par exemple : « 2,5,15,23 ». Les listes sont des nombres ou des intervalles séparés par des virgules « , ». Par exemple : « 2,5,15,23 ».
Ligne 107: Ligne 109:
 # 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 # 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"</​code>​ &​nice(10),​mailto(jim),​bootrun 45 03 * * *~0 "save --mon travail"</​code>​
 +
  
 ==== %-lignes ==== ==== %-lignes ====
Ligne 118: Ligne 121:
 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. 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.
  
-**Il y cependant une exception concernant les mots clefs mins, hours, days, mons et dow.** Ceux-ci lancent une commande une fois durant **CHAQUE** intervalle de temps spécifié.+**Il y cependant une exception concernant les mots clefs mins, hours, days, mons et dow.** Ceux-ci lancent une commande une fois durant **CHAQUE** intervalle de temps spécifié.
  
 Avec ces mots-clefs, l'​utilisateur doit préciser quand la commande devrait être lancée dans chaque intervalle de temps : Avec ces mots-clefs, l'​utilisateur doit préciser quand la commande devrait être lancée dans chaque intervalle de temps :
Ligne 167: Ligne 170:
  
 Ce type d'​entrée ne garantit 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). Ce type d'​entrée ne garantit 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).
 +
 +
  
  
Ligne 172: Ligne 177:
  
 ===== Autres considérations ===== ===== Autres considérations =====
 +
 +<​note>​Si votre commande doit être lancée graphiquement,​ il est nécessaire de la précéder de "​DISPLAY=:​0.0"</​note>​
 +
  
 Les commandes ci-dessus sont stockées dans un fichier **fcrontab** appartenant à votre compte d'​utilisateur et exécutées avec votre niveau des permissions. Si vous voulez exécuter, régulièrement,​ une commande exigeant un plus haut niveau de permission (root), vous devez utiliser le fichier **fcrontab** root (ou racine) : Les commandes ci-dessus sont stockées dans un fichier **fcrontab** appartenant à votre compte d'​utilisateur et exécutées avec votre niveau des permissions. Si vous voulez exécuter, régulièrement,​ une commande exigeant un plus haut niveau de permission (root), vous devez utiliser le fichier **fcrontab** root (ou racine) :
Ligne 177: Ligne 185:
 <​code>​sudo fcrontab -e</​code>​ <​code>​sudo fcrontab -e</​code>​
  
-Remarque : cette commande édite directement le fichier // /var/spool/cron/​fcrontabs/<​utilisateur>//​ (avec ici root comme utilisateur).+Remarque : cette commande édite directement le fichier // /var/spool/fcron/<​utilisateur>//​ (avec ici root comme utilisateur).
  
 Selon les commandes à exécuter, vous devrez changer la variable //PATH// des utilisateurs ayant les droits //root// en mettant la ligne suivante au dessus de leurs fichiers **fcrontab** : Selon les commandes à exécuter, vous devrez changer la variable //PATH// des utilisateurs ayant les droits //root// en mettant la ligne suivante au dessus de leurs fichiers **fcrontab** :
Ligne 196: Ligne 204:
   * [[http://​fcron.free.fr/​|Site officiel]] (en)   * [[http://​fcron.free.fr/​|Site officiel]] (en)
   * [[http://​fcron.free.fr/​doc/​fr/​|Documentation française]] (fr)   * [[http://​fcron.free.fr/​doc/​fr/​|Documentation française]] (fr)
-  * [[http://​fr.wikipedia.org/​wiki/​Fcron|L'​article fcron de Wikipedia]] (fr) +  * [[https://​fr.wikipedia.org/​wiki/​Fcron|L'​article fcron de Wikipedia]] (fr) 
-  ​* ​[[http://wiki.archlinuxfr.org/index.php/Cron_anacron_fcron|Article sur les planificateurs ​de tâches]] (fr)+  
 +// Cet article reprend en partie ​[[https://fr.wikipedia.org/wiki/Fcron|L'​article fcron]] ​de Wikipedia et [[:​cron|l'​article cron]] de cette documentation.//​
  
------- +===== Liens ===== 
-// Cet article reprend en partie ​[[http://​fr.wikipedia.org/​wiki/​Fcron|L'​article fcron]] de Wikipedia, ​[[http://​wiki.archlinuxfr.org/​index.php/​Cron_anacron_fcron|l'​article sur les planificateurs de tâches]] d'​archlinuxfr//​ et [[:​cron|l'​article cron]] de cette documentation.+  ​* ​[[:cron]] : planifier/​programmer des tâches 
 +  * [[:Anacron]] : planificateur de commande « anachronique » 
 +  * [[incron]] : effectuer une action, commande(s),​ scripts, etc, en cas de modifications de fichiers ou de répertoires donnés
  
- --- //​[[utilisateurs:​tartopom|Tartopom]] Le 10/04/2007, à  23:15//+----
  
-//​Contributeurs : //+//​Contributeurs : 
 +  [[utilisateurs:​tartopom|Tartopom]] Le 10/04/2007, à  23:15, [[utilisateurs:​chamblard|Chamblard]] Le 10/​12/​2015 
 +//
  • fcron.1206218546.txt.gz
  • Dernière modification: Le 01/05/2008, 22:55
  • (modification externe)