systemd restart service bei Datei Änderung

Hier eine kleine Anleitung wie man mit systemd einen Dienst neustartet wenn sich ein File ändert.
Ich nutze dies um meinen Dovecot neu zu starten wenn das SSL Zertifikat überschrieben wird.
Da das SSL Zertifikat mit Letzencrypt von einem anderen Server erstellt wird, kann ich die normalen Funktionen nicht nutzen.

Als erstes erstellen wir einen restart service

nano /etc/systemd/system/dovecot-restart.service
[Service]
Type=oneshot
ExecStart=/usr/bin/systemctl restart dovecot.service

Dann erstellen wir die config die das File überwacht

nano /etc/systemd/system/dovecot-restart.path
[Path]
PathChanged=/etc/SSL/zu_pruefendes_file.pem

[Install]
WantedBy=multi-user.target

jetzt muss das dovecot-restart.path noch enabelt werden

systemctl enable --now  dovecot-restart.path
Created symlink /etc/systemd/system/multi-user.target.wants/dovecot-restart.path → /etc/systemd/system/dovecot-restart.path.

Sobald sich jetzt das File ändert wird automatisch der dovecot-restart.service aufgerufen der wiederum den dovecot.service restartet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*