VMStat每天在午夜与每次输入之前的时间一起运行

时间:2018-12-11 15:38:50

标签: linux shell cron sh

尝试每10分钟运行一次VMSTAT(每天144次,每600秒运行一次),但希望在每行的开始处附加时间。

 0 00 * * * /usr/bin/vmstat 600 144|awk '{now=strftime("%T"); print now $0}' > /home/rory/rory_vmstat`date +\%d`

我一直在邮件中说:

  

/ bin / sh:-c:第0行:寻找匹配的“''时出现意外的EOF

     

/ bin / sh:-c:第1行:语法错误:文件意外结束

这在命令行中有效:/ usr / bin / vmstat 600 144 | awk'{now = strftime(“%T”);立即打印$ 0}”,所以我不确定这是怎么回事。

我确信它没有什么太复杂的,我尝试过切换'和'轮,但是没有运气。任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:2)

您在date +\%d中转义了最后一个%字符,您可能也需要对第一个字符进行同样的操作:

strftime("\%T")

问题是cron会将%转换为换行符,然后将%之后的文本发送到命令的stdin,除非该%被转义了。