anacron, systemd et Debian 12 Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
tony
Membre
Membre
Messages : 401
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

le manuel nous dit que:

Code : Tout sélectionner

On Debian-based systems, anacron will be  activated  hourly  every  day
       from 07:30 local time to 23:30 local time through cron job (on non-sys‐
       temd systems where cron is installed and enabled) or systemd timer  (on
       systemd-based systems).  On activation, anacron will check if it missed
       some jobs. If yes, it will start those jobs after  a  short  period  of
       time.
j'ai programmé 2 fois le même événement= exécution du script bash inode-1avec envoi du résultat dans un fichier daté, à effectuer quotidiennement: une fois avec la commande "cron" à heure fixe et l'autre avec anacron qui démarrera quelque part entre 7h30 et 23h30.
  • avec anacron: = 1 1 inode1 /home/<user>/inode-1
  • avec cron: 0 14 * * * ~/inode-1
Pour anacron et d'après ce que je comprends du texte ci-dessus, une fois amorcée la commande se répète toutes les 24h à la même heure ou à la 1ère mise en route du pc si l'heure a été dépassée et que la mise en route se fait entre 7h30 et 23h30. Mais voilà, il est aussi question d'une possible intervention de systemd et là je ne comprends pas ce qu'il peut se passer. Ce systemd, gestionnaire de services, peut-il altérer le fonctionnement de anacron sur nos systèmes avec Debian 12? Si oui comment faire pour l'en empêcher car je n'ai guère envie de me lancer dans les subtilités d'un autre "timer", cron me suffit amplement
Debian 12/ Xfce
tony
Membre
Membre
Messages : 401
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

je viens de relire le manuel à tête reposée: en fait systemd n'interviendra pas puisque cron est installé et en service. Toutes ces complications de cron et anacron ont été longues à assimiler, même superficiellement.

PS: encore une bêtise= c'est bien systemd qui active anaacron, chaque heure entre 7h(?)et 23h30 et tout au long de l'année, comme indiqué dans /lib/systemd/system/anacron

Code : Tout sélectionner

 [Unit]
Description=Trigger anacron every hour
 
[Timer]
OnCalendar=*-*-* 07..23:30
RandomizedDelaySec=5m
Persistent=true
Debian 12/ Xfce
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5852
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Ma compréhension est simple: si le PC est éteint au moment de l'heure de lancement d'une tache, elle ne s'exécutera évidement pas. A la prochaine mise sous tension, cron ne va pas s'occuper de ce taches non exécutées.
C'est anacron qui va s'en charger (regarder dans le passé les taches qui n'ont pas pu être exécutées)
tony
Membre
Membre
Messages : 401
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

piratebab a écrit : 25 févr. 2025, 20:49 Ma compréhension est simple: si le PC est éteint au moment de l'heure de lancement d'une tache, elle ne s'exécutera évidement pas. A la prochaine mise sous tension, cron ne va pas s'occuper de ce taches non exécutées.
C'est anacron qui va s'en charger (regarder dans le passé les taches qui n'ont pas pu être exécutées)
dit comme ça ça paraît simple, mais quand on essaie de l'utiliser pour la 1ère fois, ça l'est beaucoup moins. J'ai d'ailleurs faiilli l'abandonner faute, en particulier, de comprendre le mécanisme de déclenchement de anacron, de savoir quoi faire des multiples fichiers ou répertoires genre cron.daily et autres découvertes; on s'y perd vite et on finit par s'embrouiller l'esprit au point de ne plus savoir ce qu'on lit. Le remède: la décantation, en espérant que les choses vont se clarifier d'elles-mêmes.

Le but poursuivi= arriver à savoir quelle action déclenche le passage de inode/directory de "gestionnaire de fichiers(Thunar)" à "gestionnaire d'archives(FileRoller)", sachant que je n'y suis pour rien, au moins sciemment. Déclenchement du type "à l'insu de mon plein gré" . Pas grave, juste un caillou dans la chaussure, caillou dont je voudrais me débarrasser. Le script inode-1 qui détecte ce passage de Thunar à FireRloller avec un horodatage approximatif du phénomène, devrait m'en dire un peu plus sur la question.

PS1: 1er résultat ce matin à 6h35 = heure où la veille du portable s'est terminée, où anacron a enregistré un résultat dans le fichier prévu pour, donc avant 7h30. Visiblement j'ai mal compris le rôle de l'intervalle "7h30-23h30". Comme quoi la décantation n'a pas été suffisante. Simple, vraiment? Pas pour moi en tout cas. Bon, Thunar est toujours aux commandes.

PS2: en relisant le manuel, j'ai peut-être compris le truc. 7h30 est le début de la période "automatique= intervalle de 1h", mais en dehors de cette période anacron peut être déclenché manuellement. En tout cas ça cadre avec ce déclenchement à 6h35.
Debian 12/ Xfce
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5852
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Tu parles d'anacrontab ?
Il faut 3 paramétres par job
- l'intervalle, en jours
- le délais (par rapport au lancement d'anacron)qman
- et la commande a effectuer

Il y a aussi le nom du job pour l'identifier dans les logs
L'intervalle peux étre remplacé par une périodicité (tous les mois par ex).
Je ne comprends pas ton histoire d'intervalle. Est ce que tu ne mélanges pas cron et anacron ?
tony
Membre
Membre
Messages : 401
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

piratebab a écrit : 26 févr. 2025, 09:36 ..........
Je ne comprends pas ton histoire d'intervalle. Est ce que tu ne mélanges pas cron et anacron ?
extrait du manuel:

Code : Tout sélectionner

man anacron
.........
DEBIAN-SPECIFIC CONFIGURATION
       On Debian-based systems, anacron will be  activated  hourly  every  day
       from 07:30 local time to 23:30 local time through cron job (on non-sys‐
       temd systems where cron is installed and enabled) or systemd timer  (on
       systemd-based systems).  On activation, anacron will check if it missed
       some jobs. If yes, it will start those jobs after  a  short  period  of
       time.
je parle de l'intervalle de temps durant lequel anacron est activé automatiquement à chaque heure et débutant à 7h30. Mais ce matin l'ouverture du capot de mon portable l'a activé à 6h35, d'où ma surprise et ma conclusion: manuellement on peut activer anacron quand on veut.

PS: en fait je m'aperçois que ce qui me pose problème c'est ça: "anacron will be activated ...... through cron job". Je ne pige pas la relation entre cron et anacron. pigé, c'est systemd timer qui active anacron.
Debian 12/ Xfce
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5852
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

J'avais raté cette ligne tout à la fin.
De ce que je comprends, c'est un mécanisme de sécurité pour les ordi qui ne sont pas démarrés une fois par jour.
Normalement anacron est lancé au boot
Répondre