尝试每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}”,所以我不确定这是怎么回事。
我确信它没有什么太复杂的,我尝试过切换'和'轮,但是没有运气。任何帮助将不胜感激:)
答案 0 :(得分:2)
您在date +\%d
中转义了最后一个%字符,您可能也需要对第一个字符进行同样的操作:
strftime("\%T")
问题是cron会将%转换为换行符,然后将%之后的文本发送到命令的stdin,除非该%被转义了。