百分号%在crontab中不起作用

时间:2014-11-25 09:46:57

标签: bash curl cron crontab

我遇到curl的问题:

curl -w "%{time_total}\n" -o /dev/null -s http://myurl.com >> ~/log

效果很好,并在日志文件中添加一行total_time。

但与cron相同的行没有做任何事情。

这不是路径问题,因为curl http://myurl.com >> ~/log有效。

1 个答案:

答案 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
         ^