Я хочу перезагрузить (а не перезапустить!) Группу сервисов после события.
Например, если я обновлю свои SSL-сертификаты, я хочу, чтобы все службы, которые их используют, были перезагружены ( nginxи postfixприходят на ум). Также я не хочу помнить, какие службы на данном сервере используют SSL-сертификаты. Этого должно быть достаточно, чтобы они были сгруппированы, когда они были настроены.
С другой стороны, я бы хотел избежать изменения .serviceфайлов, поставляемых с пакетами, потому что это потребует ручного вмешательства во время обновлений.
Как мне это сделать?
Существует возможность остановить группу служб по запросу , но это сделает их недоступными на секунду или две, или еще хуже - они могут оставаться недоступными до тех пор, пока не будут исправлены. Я не могу себе этого позволить.
.serviceфайл как переопределение, вы можете избежать проблемы обновления. sudo systemctl edit foo.serviceбудет хранить ваши изменения, /etc/systemd/system/foo.service.d/override.confа не изменять установленный foo.serviceфайл.
/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"также есть предварительная и дополнительная ловушка: у certmonger есть команды postave и presave