logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 05-01-2021 09:51:43

Mca
Membre
Lieu : Essonne
Distrib. : Debian Sid
Noyau : Linux 6.1.0-7-amd64
(G)UI : Gnome 40
Inscription : 20-09-2019

[Résolu] Remplacement de cron par systemd

Bonjour a tous smile

J'ai décider de me passer de cron et d'utiliser a la place les services de systemd mais je ne suis pas sur de mon paramétrage,

Voici la ligne de bash qui m’intéresse dans mon mon mon fichier anacrontrab :


1   5   home-backup.daily   nice -n 19 rdiff-backup /home/mca /mnt/WD10/rdiff-backup/home/mca && nice -n 19 rdiff-backup --remove-older-than 1W --force /mnt/WD10/rdiff-backup/home/mca
 



Et son remplacent :

home-backup-daily.timer :


[Unit]
Description=Perform system backup

[Timer]
OnCalendar=daily
OnActiveSec=5 m
Persistent=true

[Install]
WantedBy=timers.target
 



home-backup-daily.service :


[Unit]
Description=Perform system backup

[Service]
Type=simple
ExecStart=sh -c 'nice -n 19 rdiff-backup /home/mca /mnt/WD10/rdiff-backup/home/mca && nice -n 19 rdiff-backup --remove-older-than 1W --force /mnt/WD10/rdiff-backup/home/mca'
 



Le but de se service serai tout comme cron de lancer le script ci-dessus de backup journalier 5 min après le démarrage du système si 1 jour se sont bien écouler, (du moins que l'on soit un nouveau jour)

Mais n ayant réaliser qu’une fois un simple service via systemd, je ne suis pas sur que celui ci-dessus marche correctement comme je le voudrai, surtout pour la partie [Timer],

Si quelqun pourrai corriger sa je lui en remercierais big_smile

Dernière modification par Mca (07-01-2021 09:34:43)

Hors ligne

#2 07-01-2021 10:30:22

Mca
Membre
Lieu : Essonne
Distrib. : Debian Sid
Noyau : Linux 6.1.0-7-amd64
(G)UI : Gnome 40
Inscription : 20-09-2019

Re : [Résolu] Remplacement de cron par systemd

Finalement j ai trouver une alternative qui marche très bien :

# Tache periodique via systemd

  # Le fichier timer qui active le service /etc/systemd/system/home-backup-daily.timer


[Unit]
Description=Perform system backup

[Timer]
OnCalendar=daily
Persistent=true
 
[Install]
WantedBy=timers.target
 



  # Le fichier service qui exécute la tache /etc/systemd/system/home-backup-daily.service


[Unit]
Description=Perform system backup

[Service]
Nice=19
IOSchedulingClass=2
IOSchedulingPriority=7
ExecStart=sh -c 'rdiff-backup /home/mca /mnt/WD10/rdiff-backup/home/mca && rdiff-backup --remove-older-than 1W --force /mnt/WD10/rdiff-backup/home/mca'
 




de ce que j ai compris : Nice=19 IOSchedulingClass=2 IOSchedulingPriority=7 permette a la tache d’être considérer comme une tache vraiment secondaire a effectuer dans les derniers services  sa remplace un peux les 5 minute de cron, Persistent=true  y aurai eu moyen de faire ce que je voulais, mais cela aurai demander deux services distincts, le premier qui est régler pour se lancer chaque jour qui démarre le second qui lui est régler pour se lancer au bout de 5 min, un peu usine a gaz après

pour ce qui est de Persistent = true :

Persistent = true signifie simplement que le minuteur fonctionnera automatiquement s'il a manqué l'heure de début précédente. Cela peut se produire parce que l'ordinateur a été éteint avant que l'événement puisse avoir lieu. Ceci est facultatif mais recommandé.

pour plus d'info je vous renvois sur ces deux lien :

https://debian-facile.org/doc:system:systemd
https://wiki.archlinux.fr/Systemd/cron

Hors ligne

Pied de page des forums