« Minuteur - systemd » : différence entre les versions

De Wiki doc

(Page créée avec « Category:systemd Category:service ordonnancement ''Systemd'' permet de créer des unités de type ''timer'' permettant d'ordonnancer des tâches au même titre que Cron. Ils s'appuient sur les services standards pour fonctionner et doivent porter le même nom que celui à exécuter automatiquement. Pour la compréhension générale de la fonctionnalité, vous pouvez vous référer aux sources en bas de page. Dans notre cas, un exemple sera... »)
 
(Ajout d'une liste énumérant des valeurs possibles pour "OnCalendar")
Ligne 40 : Ligne 40 :
WantedBy=timers.target
WantedBy=timers.target
</syntaxhighlight>
</syntaxhighlight>
Le paramètre <syntaxhighlight lang="bash" inline>OnCalendar</syntaxhighlight> accepte les données suivantes :
* '''minutely''' : *-*-* *:*:00
* '''hourly''' : *-*-* *:00:00
* '''daily''' : *-*-* 00:00:00
* '''monthly''' : *-*-01 00:00:00
* '''weekly''' : Mon *-*-* 00:00:00
* '''yearly''' : *-01-01 00:00:00
* '''quarterly''' : *-01,04,07,10-01 00:00:00
* '''semiannually''' : *-01,07-01 00:00:00
Une date complète peut être donnée. Différents exemples sont décrits dans la [https://www.freedesktop.org/software/systemd/man/systemd.time.html page de manuel].


Mise à disposition des éléments à ''Systemd''
Mise à disposition des éléments à ''Systemd''

Version du 3 août 2022 à 11:15


Systemd permet de créer des unités de type timer permettant d'ordonnancer des tâches au même titre que Cron. Ils s'appuient sur les services standards pour fonctionner et doivent porter le même nom que celui à exécuter automatiquement.

Pour la compréhension générale de la fonctionnalité, vous pouvez vous référer aux sources en bas de page. Dans notre cas, un exemple sera plus parlant. Celui-ci vise à exécuter une commande de synchronisation Rsync à une heure donnée tous les jours de l'année. Un service modèle permettra de réutiliser la même commande de synchronisation pour plusieurs machines et un minuteur (timer) les déclenchera au moment voulu.

Création du répertoire d'accueil des unités personnalisées de l'utilisateur

mkdir -p /usr/local/etc/systemd/system

Création d'un service modèle

vim /usr/local/etc/systemd/system/synchro_fichiers@.service
[Unit]
Description=Synchronisation des fichiers de Mediawiki
After=network.target

[Service]
Type=oneshot
ExecStart=rsync -av --progress --delete-after fichiers_dav/ www-data@%i:/
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Création du minuteur associé

vim /usr/local/etc/systemd/system/synchro_fichiers@.timer
[Unit]
Description=Exécution journalière de la synchronisation des fichiers Mediawiki

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target

Le paramètre OnCalendar accepte les données suivantes :

  • minutely : *-*-* *:*:00
  • hourly : *-*-* *:00:00
  • daily : *-*-* 00:00:00
  • monthly : *-*-01 00:00:00
  • weekly : Mon *-*-* 00:00:00
  • yearly : *-01-01 00:00:00
  • quarterly : *-01,04,07,10-01 00:00:00
  • semiannually : *-01,07-01 00:00:00

Une date complète peut être donnée. Différents exemples sont décrits dans la page de manuel.

Mise à disposition des éléments à Systemd

ln -s /usr/local/etc/systemd/system/synchro_fichiers@.service /etc/systemd/system/
ln -s /usr/local/etc/systemd/system/synchro_fichiers@.timer /etc/systemd/system/

Rechargement du gestionnaire de configuration de Systemd

systemctl daemon-reload

Activation des minuteurs

systemctl enable synchro_fichiers@galera2.timer
systemctl enable synchro_fichiers@galera3.timer
systemctl start synchro_fichiers@galera2.timer
systemctl start synchro_fichiers@galera3.timer

Sources