我想在事件发生时重新加载(而不重新启动!)一组服务。
例如,如果我更新SSL证书,则希望使用它们的每个服务都重新加载(nginx
并postfix
记入)。我也不想记住给定服务器上的哪些服务使用SSL证书。在配置它们时将它们分组就足够了。
另一方面,我想避免更改.service
软件包随附的文件,因为这将需要在更新过程中进行手动干预。
我该怎么做?
有一个选项可以根据请求停止一组服务,但这将使它们在一两秒钟内无法访问,甚至更糟-它们可能会停下来直到修复。我负担不起。
@JacobEvans这就是我使用的!较早之前,certbot的配置文件解析器中存在问题:它不允许使用分号。因此,您必须使用命令行参数,或者一次性使用它。现在,所有这些都是不必要的。
—
sanmai'4
如果您将
—
quixotic
.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命令