我想在每次启动服务之前执行一个脚本。
我知道我可以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 — 单元配置