我有一个需要反复运行的程序。现在,我使用supervisord的autorestart来做到这一点。目前我有:
command=myprogram --output-file=logfile.log
我想要类似的东西:
command=myprogram --output-file=logfile_%(date)s.log
指定输出文件为logfile_2015_08_13.log
,
除了supervisord只支持%(program_name)s
,%(process_num)02d
等
答案 0 :(得分:1)
Supervisord支持的不仅仅是%(program_name)s, %(process_num)02d
。您可以选择环境变量:Supervisord Environment
但是我不认为你可以在supervisord配置中传递shell命令。我会做这样的事情:
编写shell脚本并使用date命令调用您的程序。让我们将其保存为run.sh
#!/bin/bash
myprogram --output-file=logfile_`date +%Y-%m-%d`
将shell脚本作为命令传递给supervisord
command=/path/to/run.sh