Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| 
                    anacron [Le 23/02/2025, 09:45] 92.137.73.183 [Différence avec Cron]  | 
                
                    anacron [Le 15/05/2025, 15:01] (Version actuelle) 141.227.26.230 [Fonctionnement simple] ortho  | 
            ||
|---|---|---|---|
| Ligne 19: | Ligne 19: | ||
| ===== 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é===== | ||