Ceci est une ancienne révision du document !
Table des matières
systemd
Voir aussi journalctl
Les directives:
Outil d'analyse:
Pour envoyer une notification en cas d'échec d'exécution, créer un template service :
OnFailure est lié au démarrage du service. Pour traiter un retour d'erreur il faut créer un traitement dans ExecStopPost.
Timer (Cron)
Avec Debian 12 (bookworm) cron/crontab n'est pas installé, il faut utiliser les systemd.timer. Pour la programmation voir la syntaxe Calendar Events.
Pour tester la syntaxe OnCalendar: systemd-analyze calendar “*-*-* 00/2:00:00”
Tutos pour créer des timers : - https://blog.stephane-robert.info/docs/admin-serveurs/linux/timers/ - https://www.siberoloji.com/how-to-use-systemd-timers-instead-of-cron-in-debian-12-bookworm/
Exemple
les stats de livraison d'emails avec Postfix sur handipause.fr :
Le service /etc/systemd/system/mail-stats.service
# # Génère des stats de delivery pour Postfix # # Doc: # Timer: https://blog.stephane-robert.info/docs/admin-serveurs/linux/timers/ # Service: https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html # Unit: https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html # [Unit] Description=Génère qlqs stats Postfix # A space-separated list of one or more units that are activated when this unit enters the "failed" state. OnFailure=onfailure-email@%N.service [Service] Type=oneshot ExecStart=/usr/bin/php /home/debian/postfix-delivery-status/scripts/deliveryStats/deliveryStats.php /home/debian/postfix-delivery-status/conf/handipause.conf.php /var/www/html # Additional commands that are executed after the service is stopped. #ExecStopPost=
Le timer /etc/systemd/system/mail-stats.timer
[Unit] Description=Génère périodiquement qlqs stats Postfix [Timer] # https://www.freedesktop.org/software/systemd/man/latest/systemd.time.html# # check format with `systemd-analyze calendar "*-*-* 00/2:00:00"` OnCalendar=*-*-* 00/6:00:00 Persistent=true [Install] WantedBy=timers.target
Resolve
La gestion DSN par systemd.
sudo systemctl status systemd-resolved.service # ========== $ sudo resolvectl status Global Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: uplink Link 2 (ens3) Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6 Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 2001:41d0:3:163::1 DNS Servers: 2001:41d0:3:163::1 213.186.33.99 Link 3 (ens4) Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6 Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 213.186.33.99 DNS Servers: 213.186.33.99 # ========== $ sudo resolvectl statistics DNSSEC supported by current servers: no Transactions Current Transactions: 0 Total Transactions: 2906 Cache Current Cache Size: 1 Cache Hits: 478 Cache Misses: 4417 DNSSEC Verdicts Secure: 0 Insecure: 0 Bogus: 0 Indeterminate: 0 # ========== $ sudo resolvectl query 1.1.1.1 1.1.1.1: one.one.one.one -- link: ens3 -- Information acquired via protocol DNS in 23.6ms. -- Data is authenticated: no; Data was acquired via local or encrypted transport: no -- Data from: network
