systemd服务将标准输出重定向到自定义文件名

问题描述

我正在使用systemd服务来启动应用程序。应将标准输出重定向到包含当前日期(启动服务时)的文件登录文件工作正常,但是,我不知道如何在服务中提供文件名的日期。有什么想法吗?

...
[Service]
ExecStart=/bin/mybin
StandardOutput=file:/my/path/<filename should contain date>.log
...

解决方法

systemd无法动态生成文件名。但是您可以使用bash重定向和date来创建这样的日志文件。

[Service]
ExecStart=/bin/bash -c "/bin/mybin >/my/path/filename-$(date %%y-%%d-%%m).log"