侠客的博客

略懂Html,Css,JavaScript,JQuery,Linux,PHP,Java,Vue,Python

linux crontab定时访问thinkphp网址

昨天帮朋友配置一个linux服务器的crontab定时任务,访问固定的thinkphp网址,一直不执行

所以,才有了这个文章的分享

昨天给朋友配置的是:

crontab -e
//    输入详细的代码
30 0 * * * /usr/bin/curl ...(网址)

一直不执行,然后我就排查问题

cat /var/log/cron

发现报错:

ERROR (getpwnam() failed)

然后发现crontab命令的格式错误了,正确的格式是:

# Example of job definition:
# .---------------- minute (0 - 59)                                                          分
# |  .------------- hour (0 - 23)                                                            时
# |  |  .---------- day of month (1 - 31)                                                    天
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...                                    月
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat       周(几)
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

这个地方需要注意的是  user-name,指定执行用户


果断修改,保存,还是执行不了


然后怀疑程序的问题

于是直接在浏览器输入网址,是可以正确访问的,而且有返回

所以,我在怀疑,是不是curl命令的问题

如果在linux系统中执行:

/usr/bin/curl ...(网址)

返回错误信息

Internal server error 500

这是什么情况,难道curl不能执行吗

于是我还换了一个执行语法

wget ...(网址)

返回的错误信息依然是:

Internal server error 500

这就有点莫名其妙了

然后继续更换

yum -y install lynx  ##  安装
lynx ...(网址)

成功了

OK,看来是这个问题

于是果断修改crontab命令

sudo vi /etc/crontab
30 0 * * * root /usr/bin/lynx ...(网址)

OK,继续查看日志,发现成功了


OK,问题解决,然后查看了很多使用thinkphp的朋友,也有过这样的问题,分享出来,供大家参考

发表评论:

©Copyright 2019 52400073.com Author by xaake,基于 Zblog