Я хочу перезагрузить (а не перезапустить!) Группу сервисов после события.
Например, если я обновлю свои 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