Les systemd timers sont l’alternative moderne et plus puissante au cron classique sur Linux. Logging unifié via journalctl, dépendances entre services, gestion fine des erreurs, retry automatique. Pour les sysadmins en 2026, c’est l’outil par défaut pour scheduling sur Linux.
Ce pilier couvre tout. Les satellites détaillent : systemd timers vs cron, créer un service systemd, journalctl logs, secrets et environnement.
Avantages systemd timers
- Logs unifiés via
journalctl -u job.service -f - Dépendances : timer attend qu’un autre service soit prêt
- Retry automatique sur échec
- Resource limits (CPU, RAM)
- Hardening intégré (NoNewPrivileges, ProtectSystem…)
- Persistent timers : exécutent même après reboot ou downtime
- OnCalendar syntax plus expressive que cron
Premier timer
# /etc/systemd/system/backup.service
[Unit]
Description=Daily backup
After=network.target
[Service]
Type=oneshot
User=backup
ExecStart=/usr/local/bin/backup.sh
StandardOutput=journal
StandardError=journal
# /etc/systemd/system/backup.timer
[Unit]
Description=Run backup daily
[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true
RandomizedDelaySec=600
[Install]
WantedBy=timers.target
systemctl daemon-reload
systemctl enable --now backup.timer
# Vérifier prochaine exécution
systemctl list-timers backup.timer
OnCalendar — syntaxe
OnCalendar=*-*-* 03:00:00— tous les jours à 03h00OnCalendar=Mon..Fri 09:00— lun-ven 09h00OnCalendar=*-*-01 00:00— premier jour du moisOnCalendar=hourly,daily,weekly,monthlyOnCalendar=*:0/15— toutes les 15 min
Persistent et catch-up
Persistent=true : si le serveur était down au moment prévu, le timer s’exécute au redémarrage. Critique pour backups quotidiens.
RandomizedDelaySec
Évite que tous vos VPS lancent leur backup à la même seconde. RandomizedDelaySec=600 = délai aléatoire 0-10 min.
Adaptation Afrique de l’Ouest
Pour les VPS PME africaines, systemd timers + Persistent garantit que les jobs backup tournent même après une coupure électrique ou perte connectivité (fréquent). Cron classique louperait ces fenêtres.