Premiers pas avec les minuteurs systemd : une alternative moderne aux tâches cron

Que sont les minuteurs systemd ?

Le minuteur systemd est un remplacement moderne et puissant des tâches cron traditionnelles, conçu pour planifier et déclencher les unités de service systemd. Il simplifie l’automatisation sous Linux en offrant une flexibilité, une journalisation et une gestion des dépendances accrues par rapport au système cron classique.

Pourquoi utiliser les minuteurs systemd plutôt que cron ?

Les minuteurs systemd offrent plusieurs avantages par rapport à cron, ce qui en fait le choix privilégié pour l’automatisation des tâches dans les environnements Linux :

  • Gestion unifiée: gérez les minuteurs aux côtés des autres unités systemd (démarrer, arrêter, activer, désactiver).
  • Journalisation améliorée: utilisez journalctl pour une journalisation détaillée et la surveillance de l’état.
  • Planification flexible: prend en charge à la fois la syntaxe calendaire et les minuteurs monotones (relatifs).
  • Gestion des événements manqués: rattrape automatiquement les événements manqués après un redémarrage.

Exemple rapide : exécuter un script chaque jour à minuit

Voici un guide étape par étape pour créer un minuteur systemd qui exécute un script chaque jour à minuit :

1. Créer une unité de service

L’unité de service définit l’action à effectuer — ici, l’exécution d’un script.

Créez le fichier /etc/systemd/system/daily-script.service:

[Unit]
Description=Run my daily script

[Service]
Type=oneshot
ExecStart=/usr/local/bin/myscript.sh

2. Créer une unité de minuteur

L’unité de minuteur planifie le moment où le service doit s’exécuter.

Créez le fichier /etc/systemd/system/daily-script.timer:

[Unit]
Description=Run my daily script every day at midnight

[Timer]
OnCalendar=*-*-* 00:00:00
# The format is: YYYY-MM-DD HH:MM:SS
# The above line schedules the task to run once per day at midnight.

Persistent=true

[Install]
WantedBy=timers.target

3. Activer et démarrer le minuteur

Exécutez les commandes suivantes pour recharger systemd, activer le minuteur et le démarrer immédiatement :

sudo systemctl daemon-reload
sudo systemctl enable --now daily-script.timer

Comment vérifier l’état et les journaux

Une fois votre minuteur configuré, vous pouvez surveiller son état et ses journaux à l’aide des commandes suivantes :

  • Vérifier les minuteurs actifs:
systemctl list-timers
  • Afficher les détails du minuteur:
systemctl status daily-script.timer
  • Consulter les journaux d’exécution du script:
journalctl -u daily-script.service

Références

  1. Documentation officielle de systemd:
    https://www.freedesktop.org/software/systemd/man/systemd.timer.html
    Il s’agit de la documentation officielle des minuteurs systemd, qui détaille la syntaxe, les options et les exemples.
  2. Wiki Arch sur les minuteurs systemd:
    https://wiki.archlinux.org/title/Systemd/Timers
    Un guide maintenu par la communauté, avec des exemples pratiques et des conseils de dépannage.
  3. Documentation Red Hat sur les minuteurs systemd:
    https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/chap-managing_services_with_systemd#sect-Managing_Timers
    Une explication détaillée des minuteurs systemd pour un usage en entreprise.
  4. Wiki d’aide de la communauté Ubuntu:
    https://help.ubuntu.com/community/systemd
    Cette page donne un aperçu de systemd et comprend des informations sur les minuteurs.

Résumé

Les minuteurs systemd sont une solution robuste et moderne pour l’automatisation des tâches sous Linux. Ils offrent une meilleure fiabilité, un meilleur contrôle et une meilleure intégration avec systemd que les tâches cron. En créant une simple unité de service et une unité de minuteur, vous pouvez automatiser des tâches telles que les sauvegardes, la synchronisation, les tâches de nettoyage, et bien plus encore. Que vous gériez un serveur personnel ou une infrastructure d’entreprise, les minuteurs systemd sont un outil essentiel pour une automatisation Linux efficace.

Laisser un commentaire