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édentesRévision précédente
Prochaine révision
Révision précédente
anacron [Le 23/02/2025, 09:44] – [Différence avec Cron] lien 92.137.73.183anacron [Le 02/03/2026, 11:24] (Version actuelle) – contrib… bcag2
Ligne 13: Ligne 13:
 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. 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 PC, même si ceux-ci sont peu nombreux. Avec Cron, des allumages PC trop intermittents risquent d'annuler une grande partie des traitements programmés.+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 ces derniers sont peu nombreux. Avec Cron, des allumages PC trop intermittents risquent d'annuler une grande partie des traitements programmés.
  
-La syntaxe d'anacron est plus simple que celle de cron.+La syntaxe d'Anacron est plus simple que celle de cron.
  
 ===== Principe ===== ===== 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**. 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.
  
 Anacron est lancé au démarrage du PC, exécute ses tâches, puis se ferme. \\ 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).+ 
 +__Note__ (vous n'avez rien à faire, c'est juste pour une bonne compréhension) : Anacron se fermant après exécution, il doit être relancé à intervalles réguliers. Il l'est par une tâche [[cron|cron]] (voir **/etc/cron.d/anacron**) qui le lance toutes les heures, de 7h30 à 23h30. À 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 41: Ligne 42:
 <file>intervalle   délai   identifiant   commande</file> <file>intervalle   délai   identifiant   commande</file>
 où **intervalle** = nombre de jours entre les lancements. On peut utiliser **@monthly** pour lancer une tâche mensuelle. où **intervalle** = nombre de jours entre les lancements. On peut utiliser **@monthly** pour lancer une tâche mensuelle.
 +Par contre, @daily et @weekly ne sont plus supportés ((et retournent l’erreur //Unknown named period//, cf. https://askubuntu.com/a/511347/385361)). Pour un lancement chaque jour, mettre simplement //1//, et //7// pour un lancement hebdomadaire. 
  
-<note warning>bien que documenté, @daily et @weekly ne sont plus supportés ((et retourne l’erreur //Unknown named period//, cf. https://askubuntu.com/a/511347/385361)), mettre simplement //1//. Après modification du fichier anacrontab, il est prudent de lancer <code bash>anacron -T</code> pour vérifier que la syntaxe est bonne</note> +où **délai** = nombre de minutes  à attendre avant l’exécution de la tâche ;
- +
-où **délai** = nombre de minutes  à attendre avent l’exécution de la tâche ;+
  
 où **identifiant** = 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.
  
 __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> 
 + 
 +Avec cette ligne la sauvegarde [[rsync]] est lancée tous les jours (intervalle = 1 jour), si l’ordinateur est allumé, vers un DD connecté à votre box. Cette sauvegarde 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).
  
-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).+<note warning>Après modification du fichier anacrontab, il est prudent de lancer <code bash>anacron -T</code> pour vérifier que la syntaxe est bonne</note>
  
 ===== Fonctionnement détaillé===== ===== Fonctionnement détaillé=====
Ligne 98: Ligne 100:
 **-t anacrontab** : Utilise le fichier anacrontab défini, à la place de celui par défaut. Par exemple : **anacron -t ~/.anacron/etc/anacrontab**\\ **-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 l'aide, //man anacron// retourne une aide plus détaillée\\
 **-T** : Test la syntaxe de votre anacrontab, et indique les erreurs.\\ **-T** : Test la syntaxe de votre anacrontab, et indique les erreurs.\\
  
 +<note important>L'exécution de <code bash>anacron -f</code> nécessite les [[:sudo|droits d'administration]] sinon //anacron// report // Can't open timestamp file for job cron.daily: Permission denied// dans le journal système (//syslog//)</note>
 ==== Mots de passe ==== ==== Mots de passe ====
 Si le programme que vous lancez nécessite normalement le mots de passe super-utilisateur, celui-ci ne vous sera pas demandé. Le programme s'exécutera quand même, car c'est l'utilisateur **root** (et non vous) qui lance le Anacron, et **root** n'a pas besoin de mot de passe. Ni de **sudo**, bien sur. Si le programme que vous lancez nécessite normalement le mots de passe super-utilisateur, celui-ci ne vous sera pas demandé. Le programme s'exécutera quand même, car c'est l'utilisateur **root** (et non vous) qui lance le Anacron, et **root** n'a pas besoin de mot de passe. Ni de **sudo**, bien sur.
Ligne 117: Ligne 120:
   * [[fcron]] : programmer des tâches devant être exécutées   * [[fcron]] : programmer des tâches devant être exécutées
  
-Auteurs : [[utilisateurs/sylvainsjc]] - [[utilisateurs/christophe c]]+----
  
-Contributeurs :+//Contributeurs : [[utilisateurs/sylvainsjc]] - [[utilisateurs/christophe c]], [[utilisateurs/bcag2]]//