我遇到curl
的问题:
curl -w "%{time_total}\n" -o /dev/null -s http://myurl.com >> ~/log
效果很好,并在日志文件中添加一行total_time。
但与cron相同的行没有做任何事情。
这不是路径问题,因为curl http://myurl.com >> ~/log
有效。
答案 0 :(得分:11)
%
是crontab
的特殊字符。来自man 5 crontab
:
“six”字段(行的其余部分)指定命令 跑。该行的整个命令部分,直到换行符或 “%”字符将由/ bin / sh或指定的shell执行 在cronfile的SHELL变量中。 中的“%”字符 命令,除非使用反斜杠(\)进行转义,否则将更改为 换行符,以及第一个%之后的所有数据都将被发送到 该命令作为标准输入。
所以你需要转义%
字符:
curl -w "%{time_total}\n" -o /dev/null -s http://myurl.com >> ~/log
到
curl -w "\%{time_total}\n" -o /dev/null -s http://myurl.com >> ~/log
^