crontab 定时CURL链接失效的可能的解决方案

大家都用过定时任务,centos自带的crontab对于我来说简直是福音,但是最近遇到了这样的问题,需求是这样的,每5分钟请求一个PHP脚本来扫描过期的任务,于是就crontab -e 添加了下边的一条

*/5 * * * * curl https://www.test.com/test.php?a=work&b=haha  > /dev/null 2>&1

链接随便打的,后边的输入定向只是不想在clientqueue中产生垃圾文件

5分钟过后发现没有反应,奇怪,直接放到浏览器访问是可以的。于是查看cron的日志

cat /var/log/cron

发现计划任务确实没5分钟请求链接,但是因为参数丢失 被拒绝访问了,于是发现这样的问题,连接中类似&b=haha的参数被忽略了,查了一下原因是,shell中&又特殊的意义,所以用&的时候需要用\来进行转义,修改后的代码如下

*/5 * * * * curl https://www.test.com/test.php?a=work\&b=haha  > /dev/null 2>&1

如果你也遇到了类似的问题,希望对你有所帮助 :)

你可能感兴趣的:(crontab 定时CURL链接失效的可能的解决方案)