Je veux recharger (pas redémarrer!) Un groupe de services lors d'un événement.
Par exemple, si je mets à jour mes certificats SSL, je veux que tous les services qui les utilisent soient rechargés ( nginx
et postfix
me viennent à l'esprit). Je ne veux pas non plus me rappeler quels services sur un serveur donné utilisent des certificats SSL. Il devrait suffire de les regrouper lors de leur configuration.
D'un autre côté, j'aimerais éviter de modifier les .service
fichiers fournis avec les packages, car cela nécessitera une intervention manuelle lors des mises à jour.
Comment puis-je y parvenir?
Il existe une option pour arrêter un groupe de services sur demande , mais cela les rendrait inaccessibles pendant une seconde ou deux, ou pire - ils peuvent rester en panne jusqu'à ce qu'ils soient résolus. Je ne peux pas me le permettre.
/opt/letsencrypt/letsencrypt-auto renew --pre-hook "service nginx stop; service postfix stop; service squid stop" --post-hook "service nginx start; service postfix start; service squid start"
automagiques: certmonger a des commandes postsave et presave.service
modifications de fichier en tant que remplacements, vous pouvez éviter le problème de mise à jour.sudo systemctl edit foo.service
stockera vos modifications au/etc/systemd/system/foo.service.d/override.conf
lieu de modifier lefoo.service
fichier installé .Réponses:
Créez
/etc/systemd/system/ssl-reload.target
avec le contenu suivant.Créez ensuite un autre fichier:
/etc/systemd/system/ssl-reload.path
Alors:
Cela dit, après avoir modifié quelque chose dans votre répertoire SSL, les services souhaités doivent être rechargés automatiquement.
si vous ne souhaitez pas le comportement automatique, n'utilisez pas le
.path
fichier etsystemctl reload ssl-reload.target
lancez- le manuellement après avoir modifié les fichiers SSL.la source