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
anacron [Le 17/02/2012, 11:26]
YoBoY tags supperflus
anacron [Le 03/03/2024, 13:02] (Version actuelle)
86.202.8.12 [Différence avec Cron]
Ligne 1: Ligne 1:
-{{tag>cron}}+{{tag>Focal Bionic Xenial sauvegarde synchronisation}}
 ---- ----
 +====== Anacron ======
  
-====== anacron (en anglais anachronistic command scheduler ​ou planificateur de commande « anachronique ») ======+Anacron est utilisé pour exécuter des commandes, scripts ​ou programmes périodiquement,​ avec une fréquence spécifiée en jours.\\
  
 +===== Différence avec Cron =====
 +Cron est plutôt utilisé pour des machines à fonctionnement permanent (comme les serveurs).\\
 +[[Anacron]] est plutôt utilisé pour des machines à fonctionnement discontinu (comme les PC).
  
-===== A quoi ça sert ? =====+Cron a plus d'​options qu'​Anacron. Comme ce dernier, il peut lancer une tâche à un intervalle déterminé : par exemple chaque 5e jour de la semaine, chaque heure, ou chaque mois. Contrairement à Anacron, il peut aussi lancer une tâche à un moment pré-déterminé (« le 14 janvier 2018 à 15h 30 »). Limite par rapport à Anacron : si la machine n'est pas allumée, la tâche n'est pas lancée, et ne le sera jamais, même après le re-démarrage. __Elle est perdue__. Les prochaines seront évidement lancées, si la machine est allumée.
  
-En des temps préhistoriques,​ les système unix utilisaient ​[[cron]] pour permettre l'exécution ​de tâches de maintenance : suppression de fichiers inutilisés,​ archivage de journaux, indexation de fichiers, etc. [[cron]] permet ​(toujoursde programmer ces travaux à une heure où la charge système est faiblede préférence pendant la nuit. Si le système ​est stoppé ​au moment de l'​exécution ​de la tâche, celle-ci passe à la trappe.+[[Anacron]] n'utilise que des indications ​de temps relatives ​(« une fois par jour / par semaine / par mois »). Autre différence d'avec Cron, Si vous avez demandé ​une tâche toute les semaineset que votre PC est démarré seulement ​au bout de 10 jours, Anacron constatera le retard, et lancera donc la tâche ​juste après le démarrage de votre PC.
  
-Avec l'​apparition et la démocratisation de l'​excellent système Linux (et Ubuntu) pour le commun des mortels, il devient rare de laisser son PC allumé la nuit pour permettre à [[cron]] de nous maintenir notre système... +Les 2 logiciels peuvent être utilisés sur un PC régulièrement éteint, mais Anacron a le gros avantage ​de lancer tous les traitements en retard à chaque allumage du PC, même si ceux-ci sont peu nombreuxAvec Cron, des allumages PC trop intermittents risquent d'annuler une grande partie des traitements programmés.
- +
-anacron est donc né pour permettre l'exécution de tâches sans nécessité de laisser la machine allumée 24h/24. Son créateur s'​appelle Christian Schwarz.+
  
 ===== Principe ===== ===== Principe =====
  
-Notez bien qu'anacron n'est pas du tout destiné ​à remplacer [[cron]], il est complémentaire et il coexiste ​avec lui...+Anacron exécute la liste des tâches présentes dans le fichier de configuration /​etc/​anacrontab configuration. Chaque ligne de ce fichier spécifie une période //n// en jours, un délai //d// en minutes, un identifiant unique et une commande à exécuter. 
 +​ 
 +Pour chaque tâche, ​anacron ​vérifie si elle a été exécutée au cours des //n// derniers jours. Si une tâche ​n'pas été exécutée depuis //n// jours ou plus, anacron exécute la commande indiquée après //d// minutes. Après exécution, un horodatage dans un fichier spécial pour chaque tâche permet à Anacron de savoir quand il devra l'​exécuter à nouveau. 
 + 
 +Anacron est lancé au démarrage ​du PC, exécute ses tâches, puis se ferme. \\ 
 +Pour qu'il puisse continuer ​à fonctionner, il faut qu'il soit relancé à intervalles réguliers. Il est donc installé ​avec un une tâche cron (voir /etc/cron.d/anacron) qui le lance toutes les heures de 7h30à 20h30À l'​heure actuelle cette planification est de fait assurée par un service et un « //timer// » systemd (voir systemctl cat anacron.timer). 
 + 
 +===== Pré-requis ===== 
 +  * Disposer des [[:​sudo|droits d'​administration]].
  
-anacron utilise des indications de temps relatives (« une fois par jour / par semaine / par mois ») au lieu de références temporelles absolues (« le 14 janvier 2008 à 15h 30 »). De la sorte, même si vous « manquez » un moment ou une date particulière où l'​exécution d'un « job » était prévue, celui-ci sera tout de même exécuté peu de temps après le prochain démarrage du système. 
 ===== Installation ===== ===== Installation =====
-Le programme anacron est normalement installé ​de base sur Ubuntu+Le programme ​**anacron** est normalement installé ​par défaut ​sur Ubuntu ​en version « desktop ». Si ce n'est pas le cas, il suffit d'​[[:​tutoriel/​comment_installer_un_paquet|installer le paquet]] **[[apt>​anacron]]**
  
-Si ce n'est pas le cas : +===== Fonctionnement simple===== 
-   sudo apt-get install anacron+Avec les [[:​sudo|droits d'administration]],​ ouvrir ​le fichier **/​etc/​anacrontab** ​
  
-===== Fonctionnement =====+<​code>​sudo nano /​etc/​anacrontab</​code>​ ou  
 +<​code>​gedit admin:///​etc/​anacrontab</​code>​ (selon votre éditeur de texte favoris).
  
-  * sur un système fonctionnant en permanence, c'est [[cron]] qui lance anacron ​à 7h30 chaque jour (voir le fichier ​/​etc/​cron.d/​anacron) +Ajouter ​à la fin du fichier ​votre tâche planifiée, en respectant la syntaxe 
-  * sur un système ne tournant pas en permanenceanacron est lancé au démarrage car configuré ​en tant que service (On le retrouve donc dans /​etc/​init.d) +<​file>​intervalle ​  ​délai ​  ​identifiant ​  ​commande<​/file> 
-  * anacron recherche les « fichiers dateurs » (anglais timestamps) correspondant à ses différents jobs dans /var/​spool/​anacron +où **intervalle*= nombre ​de jours entre les lancements ;
-  si, d'​après un des fichiers dateurs, un job est en attente, anacron le lance +
-  ​anacron met à jour le fichier dateur du job en question. +
-  ​une fois son travail terminé, anacron s'​arrête en attendant la prochaine sollicitation. Il n'y a pas de deamon "​anacron"​ consommant de la mémoire.+
  
 +où **délai** = nombre de minutes ​ à attendre avent l’exécution de la tâche ;
  
-Le fonctionnement d'​anacron est contrôlé par le fichier /​etc/​anacrontab.+où **identifiant** = un nom unique de votre choix (sans espace ni barre oblique) ;
  
-Inspectez-le en tapant : +où **commande** = une commande [[bash|bash]], ​le nom d'un programme, d'un script, ​etc. les espaces vides sont autorisés.
-   cat /etc/anacrontab+
  
-Chaque ligne du fichier de configuration correspond à une tâche selon le schéma suivant ​:+__Exemple__ ​: 
 +<​file> ​  ​1 15 sauvegarde rsync -avz /​home/​vous/​Documents/​ root@192.168.0.101:/​home/</​file>​
  
-intervalle ​  délai ​  ​étiquette ​  ​commande+Avec cette ligne la sauvegarde [[rsync]] est lancée tous les jours (intervalle ​= 1 jour), si l’ordinateur est allumé. Elle sera exécutée 15 minutes après le lancement d'​Anacron. Par exemple à 7h45 si l'​ordinateur était allumé à 7h30, à 11h45 s'il n’était pas allumé avant 11h30 et ainsi de suite (rappel : Anacron est lancé automatiquement toutes les heures de 7h30 à 23h30). 
 + 
 +===== Fonctionnement détaillé===== 
 + 
 +Le fonctionnement d'​anacron est contrôlé par le fichier **/​etc/​anacrontab**. 
 + 
 +Vous pouvez l'​examiner⋅:​ <​code>​cat /​etc/​anacrontab</​code>​ 
 + 
 +Vous pouvez le modofier en tant que root : 
 +<​code>​sudo nano /​etc/​anacrontab</​code>​
  
-  * 1ère colonne, intervalle : exprimé en jours, indique l'​intervalle de temps entre 2 exécution d'une tâche. 
-  * 2ème colonne, délai : exprimé en minutes, c'est le délai entre 2 tâches exécutées par anacron, pour éviter qu'​elles ne s'​exécutent en même temps. 
-  * 3ème colonne, étiquette : commentaire ajouté pour les logs de anacron 
-  * 4ème colonne, commande : tâche à exécuter 
    
 +Voici le contenu par défaut du fichier **/​etc/​anacrontab** (sur une [[jammy|jammy 22.04]]). Il vaut mieux ne pas modifier ces lignes mais vous pouvez en ajouter d'​autres en dessous..
 +<​file>​
 +# /​etc/​anacrontab:​ configuration file for anacron
  
-Par défaut, voici un exemple des lignes déjà configurées : +# See anacron(8) and anacrontab(5) for details. 
-   # /​etc/​anacrontab:​ configuration file for anacron+ 
 +SHELL=/​bin/​sh 
 +HOME=/​root ​  # /​etc/​anacrontab:​ configuration file for anacron
        
-   See anacron(8) and anacrontab(5) for details.+These replace cron's entries 
 +1             cron.daily ​     run-parts --report /​etc/​cron.daily 
 +7       ​10 ​     cron.weekly ​    ​run-parts --report /​etc/​cron.weekly 
 +@monthly ​       15      cron.monthly ​   run-parts --report /etc/cron.monthly 
 + 
 +   </​file>​
        
-   ​SHELL=/bin/sh +Vous pouvez remarquer que la première ligne va lancer quotidiennement les tâches cron placées sous /etc/cron.daily.\\ Grâce à Anacron on est sûr que ces tâches seront exécutées une fois dans la journée même si la machine était éteinte à l'​heure où elle avaient été définies pour cron.\\ 
-   PATH=/​usr/​local/​sbin:/​usr/​local/​bin:/​sbin:/​bin:/​usr/​sbin:/​usr/​bin+La seconde ligne est analogue pour les tâches hebdomadaires de cron.
        
-   # These replace cron's entries 
-   ​1 5 cron.daily nice run-parts --report /​etc/​cron.daily 
-   ​7 10 cron.weekly nice run-parts --report /​etc/​cron.weekly 
-   ​@monthly 15 cron.monthly nice run-parts --report /​etc/​cron.monthly 
  
 ==== Options de lancement ==== ==== Options de lancement ====
 +Normalement vous n'avez besoin d'​aucune option : **anacron** se lance tout seul. Il existe cependant certains options, que vous pouvez appeler pour un fonctionnement adapté à votre besoin.
  
-**-f** : Force l'​exécution des tâches, en ignorant les fichiers dateurs.\\ +Pour ce faire, tapez **anacron**,​ suivi d'une option (par exemple **anacron -T**) : 
-**-u** : Met à jour à la date courante les fichiers dateurs des tâches, mais ne lance rien.\\+ 
 +**-f** : Force l'​exécution ​immédiate ​des tâches, en ignorant les fichiers dateurs.\\ 
 +**-u** : Met à jour à la date courante ​dans les fichiers dateurs des tâches, mais ne lance rien.\\
 **-s** : Met en série l'​exécution des tâches. Anacron ne lancera pas une nouvelle tâche avant que la précédente ne soit terminée.\\ **-s** : Met en série l'​exécution des tâches. Anacron ne lancera pas une nouvelle tâche avant que la précédente ne soit terminée.\\
 **-n** : Lance les tâches tout de suite. Ignore les définitions de délai dans le fichier /​etc/​anacrontab Cette option implique -s.\\ **-n** : Lance les tâches tout de suite. Ignore les définitions de délai dans le fichier /​etc/​anacrontab Cette option implique -s.\\
 **-d** : N'​exécute pas en arrière-plan. Dans ce mode, Anacron enverra les messages d'​information vers la sortie d'​erreurs,​ ainsi qu'à syslog. La sortie des tâches est envoyée via un message comme d'​habitude.\\ **-d** : N'​exécute pas en arrière-plan. Dans ce mode, Anacron enverra les messages d'​information vers la sortie d'​erreurs,​ ainsi qu'à syslog. La sortie des tâches est envoyée via un message comme d'​habitude.\\
 **-q** : Supprime les messages destinés à la sortie d'​erreurs. Applicable seulement avec -d.\\ **-q** : Supprime les messages destinés à la sortie d'​erreurs. Applicable seulement avec -d.\\
-**-t anacrontab** : Utilise le fichier ​désigné ​anacrontab, à la place de celui par défaut.\\+**-t anacrontab** : Utilise le fichier anacrontab ​défini, à la place de celui par défaut. ​Par exemple : **anacron -t ~/​.anacron/​etc/​anacrontab**\\
 **-V** : Affiche l'​information de version, puis s'​arrête.\\ **-V** : Affiche l'​information de version, puis s'​arrête.\\
 **-h** : Affiche un court message d'​utilisation,​ puis s'​arrête.\\ **-h** : Affiche un court message d'​utilisation,​ puis s'​arrête.\\
 +**-T** : Test la syntaxe de votre anacrontab, et indique les erreurs.\\
  
 +===== Bon à savoir =====
 +<​note>​anacron n'est pas lancé si l'​ordinateur que vous utilisez n'est pas branché sur secteur. Ainsi, il n'​entraîne pas de consommation supplémentaire pour un portable.</​note>​
  
-Lancez anacron - pour voir 8-O +===== Liens ===== 
-   sudo /​usr/​sbin/​anacron -d +  * [[:cron]] : planifier/programmer des tâches 
- +  ​* ​[[incron]] : effectuer une action, commande(s),​ scripts, etc, en cas de modifications de fichiers ou de répertoires donnés 
-===== Bon à savoir ​===== +  * [[fcron]] ​: programmer ​des tâches devant être exécutées
-<​note>​anacron n'est pas lancé si l'​ordinateur que vous utilisez n'est pas sur secteur. Ainsi, il n'​entraîne pas de consommation supplémentaire pour un portable.<​/note> +
-<​note>​Anacron,​ comme [[cron]] semblent devoir être remplacés par [[fcron]], plus souple et remplissant les fonctions ​des deux logiciels</​note>​+
  
-Auteur ​: [[utilisateurs/​sylvainsjc]]+Auteurs ​: [[utilisateurs/​sylvainsjc]] - [[utilisateurs/​christophe c]]
  
-Contributeurs : +Contributeurs :
  • anacron.1329474367.txt.gz
  • Dernière modification: Le 17/02/2012, 11:26
  • par YoBoY