实例:
每5分钟定时访问一个url
- # crontab -e
- #*/5 * * * * /usr/bin/curl http://aa.com:8080/tools/sitemap.php >> /home/task/logo.txt 【这句是在crontab里编辑的,可以不用后面那个>>写入日志里,日志最好写在项目里,不要在home里】
也可以:*/5 * * * * /usr/bin/curl -o /home/task/logo.txt http://aa.com:8080/tools/sitemap.php
知识点:
crontab -e 新建/编辑一个任务
crontab -l 列出所有任务
crontab -r 删除具体用户的任务
cat /home/task/logo.txt 查看是否写入
crontab 格式:
基本格式 :
分钟 小时 日 月 星期 命令
第1列表示分钟1~59 每分钟用或者 /1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列 表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
举例如下:
5 * * * * ls 指定每小时的第5分钟执行一次ls命令
30 5 * * * ls 指定每天的 5:30 执行ls命令
30 7 8 * * ls 指定每月8号的7:30分执行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令
30 6 * * 0 ls 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,
以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls 命令。 ]
每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件
50 7 * * * root run-parts /etc/cron.daily [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。 ]
执行PHP脚本:* * * * * /usr/bin/php -f /root/test.php >> test.log
执行curl访问url:
* * * * * /usr/bin/curl http://aa.com:8080/tools/sitemap.php >> /Desktop/untitled.html
在Crontab中使用URL执行脚本
如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。
下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。
- 00 * * * * lynx -dump https://www.centos.bz/myscript.php
下面的例子是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用"curl -o"选项,你也可以把脚本的输出转储到临时文件。
- */5 * * * * /usr/bin/curl -o temp.txt https://www.centos.bz/myscript.php
下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。"-O temp.txt"表示输出会发送到临时文件。
- */10 * * * * /usr/bin/wget -q -O temp.txt https://www.centos.bz/myscript.php
查看Crontab执行情况
看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察