如何将日期(或通常是shell脚本的结果)传递给supervisord中的命令

时间:2015-08-13 07:02:47

标签: supervisord

我有一个需要反复运行的程序。现在,我使用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

1 个答案:

答案 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