Systemd 单元可以在启动前创建其工作目录吗?

Systemd 单元可以在启动前创建其工作目录吗?

我希望服务的主命令 ( ExecStart) 在 中运行,WorkingDirectory该命令在服务首次运行时可能不存在。我mkdir在 中添加了ExecStartPre,但似乎 mkdir 本身是在不存在的同一工作目录中启动的,因此失败了。还尝试使用+-标志,但到目前为止没有成功。

找一个复制这里,但没有答案。

另一个重复的是建议答案基本上是:

  • 创建一个辅助单元,它将为主单元创建目录
  • 在中创建条目tmpfiles.d

感谢您指出这些解决方案。可能还有其他解决方案。我想知道是否有可能从服务的配置文件创建目录,而无需依赖外部机制。这将使我的部署更容易。抱歉,我不够具体。

相关内容