Quero recarregar (não reiniciar!) Um grupo de serviços em um evento.
Por exemplo, se eu atualizar meus certificados SSL, desejo que todos os serviços que os utilizam sejam recarregados ( nginx
e postfix
lembre-se). Também não quero me lembrar de quais serviços em um determinado servidor usam certificados SSL. Deve ser suficiente agrupá-los quando foram configurados.
Por outro lado, eu gostaria de evitar alterar os .service
arquivos fornecidos com os pacotes, porque isso exigirá intervenção manual durante as atualizações.
Como eu faço isso?
Há uma opção para interromper um grupo de serviços mediante solicitação , mas isso os tornaria inacessíveis por um segundo ou dois, ou pior - eles podem permanecer inativos até serem corrigidos. Eu não posso permitir isso.
/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"
também: certmonger tem comandos postSave e presave.service
editar o arquivo como substituição, poderá evitar o problema de atualização.sudo systemctl edit foo.service
irá armazenar suas alterações em/etc/systemd/system/foo.service.d/override.conf
vez de alterar ofoo.service
arquivo instalado .Respostas:
Crie
/etc/systemd/system/ssl-reload.target
com o seguinte conteúdo.Em seguida, crie outro arquivo:
/etc/systemd/system/ssl-reload.path
Então:
Com isso dito, depois de alterar algo em seu diretório SSL, os serviços desejados devem ser recarregados automaticamente.
se você não quiser o comportamento automático, não use o
.path
arquivo e emita-osystemctl reload ssl-reload.target
manualmente depois de alterar os arquivos SSL.fonte