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é===== |