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
Prochaine révision Les deux révisions suivantes
anacron [Le 09/12/2019, 19:56]
cafecho pkexec renvoie à un message d'erreur : remplacé par sudo + mise en forme wiki
anacron [Le 11/06/2020, 13:04]
Christophe c [Fonctionnement détaillé] intervalle = 0
Ligne 1: Ligne 1:
 {{tag>​Bionic Xenial sauvegarde synchronisation}} {{tag>​Bionic Xenial sauvegarde synchronisation}}
 ---- ----
 +====== Anacron ======
 Anacron sert à lancer __automatiquement__ des tâches informatiques (sauvegardes ou autres) à des intervalles prédéfinis (tout comme [[cron|cron]]). Anacron sert à lancer __automatiquement__ des tâches informatiques (sauvegardes ou autres) à des intervalles prédéfinis (tout comme [[cron|cron]]).
  
Ligne 9: Ligne 9:
 En effet, [[cron|cron]] lance une tâche à un moment pré-déterminé (« le 14 janvier 2018 à 15h 30 »). 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__. En effet, [[cron|cron]] lance une tâche à un moment pré-déterminé (« le 14 janvier 2018 à 15h 30 »). 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__.
  
-Anacron utilise au contraire des indications de temps relatives (« une fois par jour / par semaine / par mois »). Si vous avez demandé une tâche toute les semaines, et que votre PC est démarré seulement au bout de 10 jour, anacron constatera le retard, et lancera donc la tâche juste après le démarrage de votre PC.+Anacron utilise au contraire des indications de temps relatives (« une fois par jour / par semaine / par mois »). 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** démarre automatiquement à chaque lancement d'​Ubuntu (vous n'avez rien à définir à ce niveau), vérifie si une ou des tâches sont à lancer, les démarre, puis se désactive jusqu'​au prochain démarrage de votre système OU jusqu'​à 7h30 le matin suivant (c'est d'​ailleurs cron qui redémarre anacron à 7h30 - c'est du moins le paramétrage sur Ubuntu). Bien que anacron soit plutôt prévu pour les PC, on peut donc l'​utiliser sur des serveurs Ubuntu. L'​inverse (cron sur PC) est moins évident. **Anacron** démarre automatiquement à chaque lancement d'​Ubuntu (vous n'avez rien à définir à ce niveau), vérifie si une ou des tâches sont à lancer, les démarre, puis se désactive jusqu'​au prochain démarrage de votre système OU jusqu'​à 7h30 le matin suivant (c'est d'​ailleurs cron qui redémarre anacron à 7h30 - c'est du moins le paramétrage sur Ubuntu). Bien que anacron soit plutôt prévu pour les PC, on peut donc l'​utiliser sur des serveurs Ubuntu. L'​inverse (cron sur PC) est moins évident.
Ligne 23: Ligne 23:
 Avec les [[:​sudo|droits d'​administration]],​ ouvrir le fichier **/​etc/​anacrontab** :  Avec les [[:​sudo|droits d'​administration]],​ ouvrir le fichier **/​etc/​anacrontab** : 
  
-<​code>​sudo mousepad /​etc/​anacrontab</​code>​ ou <​code>​sudo gedit /​etc/​anacrontab</​code>​ (selon votre éditeur de texte favoris).+<​code>​pkexec ​mousepad /​etc/​anacrontab</​code>​ ou  
 +<​code>​gedit ​admin:///​etc/​anacrontab</​code>​ (selon votre éditeur de texte favoris).
  
 Ajouter à la fin du fichier votre automatisation,​ au format ​ Ajouter à la fin du fichier votre automatisation,​ au format ​
 <​file>​intervalle ​  ​délai ​  ​étiquette ​  ​commande</​file>​ <​file>​intervalle ​  ​délai ​  ​étiquette ​  ​commande</​file>​
-ou **intervalle** = nombre de jour entre les lancements.+où **intervalle** = nombre de jour entre les lancements.
  
-ou **délai** = nombre de minutes entre le démarrage du PC et le lancement de la tâche : pour ne pas ralentir le démarrage PC, pour ne pas lancer plusieurs tâches en même temps (à ce titre, vérifiez qu'une tâche déjà dans le fichier ne se lance pas au même nombre de minutes après le démarrage que la nouvelle).+où **délai** = nombre de minutes entre le démarrage du PC et le lancement de la tâche : pour ne pas ralentir le démarrage PC, pour ne pas lancer plusieurs tâches en même temps (à ce titre, vérifiez qu'une tâche déjà dans le fichier ne se lance pas au même nombre de minutes après le démarrage que la nouvelle).
  
-ou **étiquette** = nom de la tâche (choisit par vous). Attention, __jamais__ d'​espace vide ou de slash.+où **étiquette** = nom de la tâche (choisit par vous). Attention, __jamais__ d'​espace vide ou de slash.
  
-ou **commande** = une commande [[bash|bash]],​ le nom d'un programme, d'un script .... les espaces vides sont autorisés.+où **commande** = une commande [[bash|bash]],​ le nom d'un programme, d'un script .... 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>​
-=> La sauvegarde [[rsync]] est lancée ​chaque ​jour (si le PC est allumé), 15 minutes après le démarrage du PC, pour sauvegarder le répertoire /Documents dans un répertoire se trouvant sur un serveur distant.+=> La sauvegarde [[rsync]] est lancée ​tout les **1** jour (si le PC est allumé), ​**15** minutes après le démarrage du PC, pour sauvegarder le répertoire /Documents dans un répertoire se trouvant sur un serveur distant.
  
-Attention, c'est l'utilisateur root qui lance anacron. Il ne connait pas le répertoire par défaut de l'​utilisateur courant, il faut donc (si besoin) le lui indiquer en clair. +**Attention, c'est l'__utilisateur root__ ​qui lance anacron. Il ne connait pas le répertoire par défaut de l'​utilisateur courant, il faut donc (si besoin) le lui indiquer en clair. 
-De plus, l'​utilisateur ​root n'a pas d'​écran ​affecté, on ne peut donc pas lancer et afficher par ce biais une application graphique.+De plus, l'​utilisateur ​__root ​n'a pas d'​écran ​affecté__, on ne peut donc pas lancer et afficher par une application graphique, sauf a créer un anacrontab associé a l'​utilisateur courant, et non a root (cf. plus bas).**
  
 ===== Fonctionnement détaillé===== ===== Fonctionnement détaillé=====
Ligne 55: Ligne 56:
  
 Modifiez le par un : Modifiez le par un :
-<​code>​sudo gedit /​etc/​anacrontab</​code>​+<​code>​sudo ​-H gedit /​etc/​anacrontab</​code>​
 Chaque ligne du fichier de configuration correspond à une tâche selon le schéma suivant : Chaque ligne du fichier de configuration correspond à une tâche selon le schéma suivant :
 <​file>​intervalle ​  ​délai ​  ​étiquette ​  ​commande</​file>​ <​file>​intervalle ​  ​délai ​  ​étiquette ​  ​commande</​file>​
  
-  * 1ère colonne, intervalle : c'est le nombre de __jours__ entre 2 exécutions d'une même tâche. Vous pouvez remplacer le nombre de jours par **@monthly**,​ ce qui lancera la tâche au début de chaque mois. Peu importe alors le nombre de jours du mois (28, 29, 30 ou 31).+  * 1ère colonne, intervalle : c'est le nombre de __jours__ entre 2 exécutions d'une même tâche. Vous pouvez remplacer le nombre de jours par **@monthly**,​ ce qui lancera la tâche au début de chaque mois. Peu importe alors le nombre de jours du mois (28, 29, 30 ou 31). La macro **@yearly** est également acceptée (lancement annuel). Enfin, un intervalle = "​**0**"​ (sans guillemets) demande un lancement à chaque démarrage du système (donc potentiellement plusieurs fois par jour).
   * 2ème colonne, délai : c'est le nombre de __minutes__ entre 2 tâches exécutées par anacron, pour éviter qu'​elles ne s'​exécutent en même temps.   * 2ème colonne, délai : c'est le nombre de __minutes__ 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 : nom que vous donnez à la tâche, pour les logs de anacron. __Ne doit pas comprendre d'​espace vide ou de slash__ !!   * 3ème colonne, étiquette : nom que vous donnez à la tâche, pour les logs de anacron. __Ne doit pas comprendre d'​espace vide ou de slash__ !!
Ligne 81: Ligne 82:
    </​file>​    </​file>​
  
 +==== Lancement d'​applications graphiques ====
 +Par défaut, anacron est lancé par l'​utilisateur root. Les commandes, même les commandes "​systèmes",​ n'ont donc pas besoin de mot de passe (root a tous les droits). Et rien n’apparaît à l'​écran,​ car l'​utilisateur root n'a pas d'​écran affecté.
 +
 +Si on souhaite lancer une application graphique visible à l'​écran (bien sûr, si un mot de passe est nécessaire,​ il sera désormais demandé), il faut donc créer un anacrontab spécifique à l'​utilisateur (à vous). Pour ce faire :
 +
 +1/ __Créez les 3 répertoires nécessaires__ dans votre compte utilisateur :
 +<​code>​mkdir ~/.anacron ~/​.anacron/​etc ~/​.anacron/​spool</​code>​
 +
 +2/ __Créez un fichier texte **anacrontab**__ dans le répertoire **~/​.anacron/​etc/​**,​ et placez-y un contenu simplifié, qui ne remplace pas, mais s'​ajoute à l'​anacrontab du système. Par exemple :
 +<​code>​
 +# Ceci est mon anacrontab perso.
 +
 +SHELL=/​bin/​sh
 +PATH=/​usr/​local/​sbin:/​usr/​local/​bin:/​sbin:/​bin:/​usr/​sbin:/​usr/​bin:/​home/​VOTRE_IDENTIFIANT/​.anacron
 +
 +4 2 test thunar
 +</​code>​
 +**Personnalisez VOTRE_IDENTIFIANT** (ligne 4)! via ce fichier, qui est un simple fichier texte sans extension, anacron lance tous les 4 jours, 2 minutes après le démarrage, un processus nommé test (le nom est libre) qui lance l'​explorateur de fichier Thunar (celui de Xubuntu).
 +Vous pouvez mettre autant de lignes de commandes et de réglages que désiré.
 +
 +3/ __Ouvrez votre fichier **~/​.profil**,​ et placez cette ligne à la fin__ :
 +<​code>/​usr/​sbin/​anacron -s -t ${HOME}/​.anacron/​etc/​anacrontab -S ${HOME}/​.anacron/​spool</​code>​
 +
 +Cette ligne lance votre anacrontab personnel. Redémarrez,​ et à chaque lancement 4 jours ou plus depuis la précédente exécution de la commande, celle-ci exécutera de nouveau.
 ==== Options de lancement ==== ==== Options de lancement ====
 +Tapez **anacron**,​ suivi d'un option (par exemple **anacron -T**) :
  
 **-f** : Force l'​exécution des tâches, en ignorant les fichiers dateurs.\\ **-f** : Force l'​exécution des tâches, en ignorant les fichiers dateurs.\\
Ligne 92: Ligne 118:
 **-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 ===== ===== Bon à savoir =====
Ligne 101: Ligne 129:
   * [[fcron]] : programmer des tâches devant être exécutées   * [[fcron]] : programmer des tâches devant être exécutées
  
-Auteur ​: [[utilisateurs/​sylvainsjc]]+Auteurs ​: [[utilisateurs/​sylvainsjc]] - [[utilisateurs/​christophe c]]
  
 Contributeurs :  Contributeurs : 
  • anacron.txt
  • Dernière modification: Le 03/03/2024, 13:02
  • par 86.202.8.12