我想在发生事件时重新加载(而不是重新启动!)一组服务。
例如,如果我更新我的 SSL 证书,我希望使用它们的每个服务都重新加载(nginx
并且postfix
想到)。我也不想记住给定服务器上的哪些服务使用 SSL 证书。在配置它们时将它们分组应该就足够了。
另一方面,我想避免更改.service
随包提供的文件,因为这将需要在更新期间手动干预。
我如何做到这一点?
有一个选项可以根据请求停止一组服务,但这会使它们在一两秒钟内无法访问,或者更糟 - 它们可能会保持关闭直到修复。我买不起。
Mar*_*erg 22
/etc/systemd/system/ssl-reload.target
使用以下内容创建。
[Unit]
Description=Services which need reloaded with SSL certs are updated.
PropagatesReloadTo=nginx postfix
Run Code Online (Sandbox Code Playgroud)
然后创建另一个文件: /etc/systemd/system/ssl-reload.path
[Unit]
Description=Restart services which use SSL when the cert directory changes
[Path]
PathChanged=/path/to/your/ssl/certs/dir
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
然后:
systemctl enable ssl-reload.path
systemctl start ssl-reload.path
Run Code Online (Sandbox Code Playgroud)
话虽如此,在更改 SSL 目录中的某些内容后,应自动重新加载所需的服务。
如果您不想要自动行为,则不要使用该.path
文件,只需systemctl reload ssl-reload.target
在更改 SSL 文件后手动发出。
归档时间: |
|
查看次数: |
3445 次 |
最近记录: |