Linux crontab 访问PHP URL完成定时任务

crontab -e 新建/编辑一个任务
crontab -l 列出所有任务

crontab 格式:

基本格式 :
分钟 小时 日 月 星期 命令
第1列表示分钟1~59 每分钟用或者 /1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列 表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

执行PHP脚本:
* * * * * /usr/bin/php -f /root/test.php >> test.log

表示“每隔一分钟执行test.php文件,脚本的结果输出到test.log里”。 注意目录问题。

比如test.php里的代码可以是echo date("Y-m-d H:i:s") \n这种。

由于我是第一次用crontab,测试发现bin/php 这种方式只能单PHP文件可以完成的任务,如果涉及到include,require,要注意路径问题,涉及到“类(class)”似乎就不行了。希望哪位指点一下。

另外需要注意这个脚本需要有执行权限。

而我本人需要完成的任务是定时访问一个文件(链接)去生成sitemap,所以访问URL就不能用bin/php 去完成,而是要用bin/curl。所以我的代码就成了下边这样:

* * * * * /usr/bin/curl http://aa.com:8080/tools/sitemap.php >> /Desktop/untitled.html

关于这个命令里后边的输出,并不是必须的,只是为了方便在写命令的时候调试。

关于crontab命令的参数建议看一下手册,这里只复制了一段查到的资料里提到的。

本站@Jacendfeng 的这篇Linux 下执行定时任务 crontab 命令详解 写的非常详细,建议看一下。

2015-11-06 10:13:43 更新

root可以查看 -l ,创建 -e ,删除 -r 具体用户的任务

如crontab -r -u www 表示删除www这个用户的任务

而普通用户只能查看,创建,删除自己的任务

参考资料:
鳥哥的 Linux 私房菜 — 第十五章、例行性工作排程(crontab)
linux 自动执行 crontab学习笔记
linux定时调用指定url链接,linux crontab定时执行php脚本程序介绍
linux使用crontab实现PHP执行定时任务

    原文作者:启程
    原文地址: https://segmentfault.com/a/1190000003953826
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞