我正在使用upstart脚本设置Linux服务:
description "AAE client app"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
env PATH=/home/ec2-user/aae_client/env/bin
env PROGRAM_NAME="aae"
env USERNAME="ec2-user"
# Main script to be run
script
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Ready to run..." >> /var/log/$PROGRAM_NAME.sys.log
export HOME="/home/ec2-user"
echo $$ > /var/run/$PROGRAM_NAME.pid
cd /home/ec2-user/aae_client
exec python -m app.run >> /var/log/$PROGRAM_NAME.sys.log 2>&1
end script
在script
块中,我尝试在运行实际应用程序之前使用date -u +%Y-%m-%dT%T.%3NZ
打印日期时间。但是,每次我启动服务时,日期时间都不会打印。在系统日志中,我得到了
[] (sys) Ready to run...
如果我在命令行中运行准确的echo
命令,我将获得正确的日期时间
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Ready to run..."
为什么我不能使用upstart脚本在sys日志中打印日期时间?