PHP 定时任务

举报
黄啊码 发表于 2022/06/29 01:06:37 2022/06/29
【摘要】 这里主要说说Linux的crontab。顺便提一下,据说,在PHP实现定时任务,这是首选方案。 crontab文件的位置: /etc/crontab 命令: cd /etc vim crontab 可以清晰看到配置的提示说明 # Example of job definition:...

crontab文件的位置:

/etc/crontab

命令:

cd /etc

vim 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
复制代码

5个参数时间参数,从左往右,分别是  分钟、小时、日、月、星期,其中(数字/* )代表 每(数字)单位执行一次。例子:

复制代码
#每分钟执行一次的两种实现

#分钟为1则执行
1 * * * * 

#每1分钟执行一次
1/* * * * *
复制代码

每天0时0点请求一次

0 0 * * * root curl http://ding.shi.renwu?id=001\&name=bobo
或者

0 0 * * * root curl "http://ding.shi.renwu?id=001&name=bobo"

这里提醒一下,URL传递参数,不能使用&,因为&在Linux下另有其义,用&连接参数会造成参数丢失。解决方法有两种:

1,使用转义字符,\& 代替 &

2,url用双引号包围

 

好了,就是这么简单,配置完成。

 

想查看定时任务是否有执行,可以到日志文件查看,位置是:

/var/log/cron

cd /var/log

tail -f cron

 

这个日志,只记录定时执行情况,不显示执行后的返回结果。

 

想查看请求调用的情况,可在调试阶段,直接使用curl命令检查方法是否正确执行

curl "http://ding.shi.renwu"

这个跟在浏览器直接输入请求还是很不同的,像上文提到的&字符问题,浏览器输入链接没有问题,但在Linux下调用必然出错。

还有curl可以用 -d 选项 POST 参数等,这些都不是浏览器直接输入可以完成。

the end!!

文章来源: markwcm.blog.csdn.net,作者:黄啊码,版权归原作者所有,如需转载,请联系作者。

原文链接:markwcm.blog.csdn.net/article/details/52858295

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。