在启动 systemd 服务之前执行命令

在启动 systemd 服务之前执行命令

我想在每次启动服务之前执行一个脚本。

我知道我可以ExecStartPre在服务定义文件中使用,但我想知道是否可以在不编辑来自服务包的文件的情况下实现。

该脚本是一个简单的命令,完成后就会退出,它会创建主服务使用的文件(它从安全存储中获取 TLS 证书和密钥)。

答案1

当然可以。您可以使用特定的独立包括:

mkdir /etc/systemd/service/<servicename>.service.d
echo /etc/systemd/service/<servicename>.service.d/<anything>.conf << EOF
[Service]
ExecStartPre=<path to script>
EOF
systemctl daemon-reload

瞧!

参考:搜索“插入“ 在systemd.unit — 单元配置

相关内容