带有自定义日志文件时间戳的 Bash 脚本

带有自定义日志文件时间戳的 Bash 脚本

我有这个简单的脚本,

#!/bin/sh
TIMESTAMP=`date "+%Y-%m-%d %H:%M:%S"`
echo "$TIMESTAMP" /etc/init.d/nginx restart >> /usr/local/nginx/logs/mylog.log 2>&1

但是,它仅将时间打印到我的自定义日志文件中,并且不会重新启动 nginx。我缺少什么?我想某处很简单,但我无法弄清楚。非常感谢任何指点、建议、评论。提前谢谢了!

答案1

该语句echo "$TIMESTAMP" /etc/init.d/nginx restart将当前时间和单词/etc/init.d/nginxrestart写入日志文件。

如果您想重新启动 nginx,自然应该将其作为单独的命令来执行。

echo "$TIMESTAMP" >>/usr/local/nginx/logs/mylog.log
/etc/init.d/nginx restart >>/usr/local/nginx/logs/mylog.log 2>&1

或者,

{ echo "$TIMESTAMP"; /etc/init.d/nginx restart; } >>/usr/local/nginx/logs/mylog.log 2>&1

相关内容