【发布时间】:2016-01-27 10:00:37
【问题描述】:
有什么方法可以做到这一点?
一些细节:
我正在尝试使用名称为 datetime 的 gunicorn 创建日志文件。
类似的东西,但它不能正常工作:
chdir /home/mypath
script
log_file=./err_$(date +"%d_%m_%Y_%T").log
exec gunicorn --error-logfile $log_file
end script
这种方法也失败了:
exec gunicorn --error-logfile ./err_$(date +"%d_%m_%Y_%T").log
【问题讨论】:
-
请注意
exec在script节中是shell 命令exec,而不是Upstartexec节。这不是必需的,并且可能是您的问题的一部分。 -
@chepner 没有
exec在script部分它失败了terminated with status 127 -
退出状态
127通常意味着shell 找不到指定的可执行文件。这听起来像是一个路径问题;如果将gunicorn替换为完整路径(/usr/bin/gunicorn,或任何正确的路径)会发生什么? -
@chepner 通过这种方式可以正常工作
exec gunicorn --error-logfile ./hard/coded/path/to.log -
啊,找不到的是
date,不是gunicorn。 (script节运行带有-e选项集的shell,所以第一个失败的命令——在这种情况下,设置log_file的命令——导致整个脚本退出。)尝试替换date带有完整路径(通常是/bin/date;奇怪的是date会丢失。)
标签: bash ubuntu environment-variables upstart