大家都用过定时任务,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
如果你也遇到了类似的问题,希望对你有所帮助 :)
网友评论