Concevoir un site comme celui-ci avec WordPress.com
Commencer

Tâche périodique avec Systemd

On peut gérer une tache périodique avec les services Systemd.

Environnement

PC sous Linux Debian 10 (Buster)

Créer le service

Pour lancer mon script /opt/update-service j’ai créer le fichier /etc/systemd/system/maj.service avec le contenu suivant:

[Unit]
Description=Mise à jour périodique

[Service]
Type=oneshot
ExecStart=/opt/update-perso

Créer le chronomètre

le nom fait référence au service créer précédemment

Créer le fichier   /etc/systemd/system/maj.timer avec le contenu suivant:

Si je veux lancer chaque jour à 14h00 je mets OnCalendar=*-*-* 14:00:00

Si je veux lancer toutes les 8 heures à la 20 ième minute je mets OnCalendar=*-*-* 0/8:20:00


[Unit]
Description=Exécuter le service maj à chaque heure pile
[Timer]
OnCalendar= *--*--* *:00:00
Persistent=true
[Install]
WantedBy=timers.target

Syntaxe de OnCalendar: [JourDeSemaine] Année-Mois-Jour Heure:Minute:Seconde

Activer le chronomètre

systemctl enable maj.timer

Exemple

systemctl enable maj.timer
Created symlink /etc/systemd/system/timers.target.wants/maj.timer → /etc/systemd/system/maj.timer.

Démarrer le service

systemctl start maj.timer

Verifier

systemctl status maj.timer

Vérifier l’horodatage

systemctl list-timers --all

Exemple

systemctl list-timers --all
NEXT LEFT LAST PASSED UNIT ACTIVATES
Mon 2018-11-26 17:00:00 CET 58min left Mon 2018-11-26 16:00:00 CET 1min 58s ago maj.timer maj.service

Plus d’infos

https://www.freedesktop.org/software/systemd/man/systemd.timer.html

https://wiki.archlinux.org/index.php/Systemd/Timers

https://man.archlinux.org/man/systemd.time.7

https://www.linuxtricks.fr/wiki/systemd-creer-des-services-timers-unites


Publicité

Par Bidouille De Bian

Bidouilleur sur Linux Debian 10 (Buster). Débutant dans le blog sur Wordpress.

%d blogueurs aiment cette page :