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 09/02/2024, 17:23]
bruno [Anacron] typo
anacron [Le 03/03/2024, 13:02] (Version actuelle)
86.202.8.12 [Différence avec Cron]
Ligne 5: Ligne 5:
 Anacron est utilisé pour exécuter des commandes, scripts ou programmes périodiquement,​ avec une fréquence spécifiée en jours.\\ Anacron est utilisé pour exécuter des commandes, scripts ou programmes périodiquement,​ avec une fréquence spécifiée en jours.\\
  
-Contrairement ​à [[cron|cron]], il ne part pas du principe que la machine ​fonctionne en continuIl peut donc être utilisé ​sur des machines qui ne fonctionnent pas en permanence pour planifier des tâches quotidienneshebdomadaires ou mensuelles.+===== 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). 
 + 
 +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. 
 + 
 +[[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 semaines, et 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. 
 + 
 +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 PCmême si ceux-ci sont peu nombreux. Avec Cron, des allumages PC trop intermittents risquent d'​annuler une grande partie des traitements programmés. 
 + 
 +===== Principe =====
  
 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. 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'a 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.+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'a 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.
  
-Pour qu'anacron ​puisse fonctionner il faut qu'il soit lui même lancé ​à intervalles réguliers.\\ +Anacron est lancé au démarrage du PC, exécute ses tâches, puis se ferme. \\ 
-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).+Pour qu'il puisse ​continuer à fonctionneril 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 ===== ===== Pré-requis =====
Ligne 32: Ligne 42:
 où **délai** = nombre de minutes ​ à attendre avent l’exécution de la tâche ; où **délai** = nombre de minutes ​ à attendre avent l’exécution de la tâche ;
  
-où **identifaint** = un nom unique de votre choix (sans espace ni barre oblique) ;+où **identifiant** = un nom unique de votre choix (sans espace ni barre oblique) ;
  
 où **commande** = une commande [[bash|bash]],​ le nom d'un programme, d'un script, etc. les espaces vides sont autorisés. où **commande** = une commande [[bash|bash]],​ le nom d'un programme, d'un script, etc. les espaces vides sont autorisés.
Ligne 38: Ligne 48:
 __Exemple__ : __Exemple__ :
 <​file> ​  ​1 15 sauvegarde rsync -avz /​home/​vous/​Documents/​ root@192.168.0.101:/​home/</​file>​ <​file> ​  ​1 15 sauvegarde rsync -avz /​home/​vous/​Documents/​ root@192.168.0.101:/​home/</​file>​
-=> La sauvegarde [[rsync]] est lancée tous les **1** jour, si le PC est allumé. Elle sera exécuté ​15 minutes après le premier ​lancement d'​Anacron.+ 
 +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é===== ===== Fonctionnement détaillé=====
Ligne 59: Ligne 70:
 HOME=/​root ​  # /​etc/​anacrontab:​ configuration file for anacron HOME=/​root ​  # /​etc/​anacrontab:​ configuration file for anacron
        
-   # See anacron(8) and anacrontab(5) for details. 
-    
-   ​SHELL=/​bin/​sh 
-   ​PATH=/​usr/​local/​sbin:/​usr/​local/​bin:/​sbin:/​bin:/​usr/​sbin:/​usr/​bin 
-   ​HOME=/​root 
-   ​LOGNAME=root 
-    
-   # 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 
-LOGNAME=root 
- 
 # These replace cron's entries # These replace cron's entries
 1       ​5 ​      ​cron.daily ​     run-parts --report /​etc/​cron.daily 1       ​5 ​      ​cron.daily ​     run-parts --report /​etc/​cron.daily
  • anacron.1707495826.txt.gz
  • Dernière modification: Le 09/02/2024, 17:23
  • par bruno