signed

QiShunwang

“诚信为本、客户至上”

PHP常用Linux系统定时执行任务之Cron和Crontab介绍

2016-10-18 22:24:48   来源: 郑州网站建设
Crontab定时任务

在网站建设过程中,很多应用需要用到定时任务,如定时备份、定时抓取、定时更新数据、重启服务器等,这些都需要用到定时任务,Windows系统有个计划任务,Linux则大多数人通过Cron完成。下面博宏网络为你介绍这个定时任务神奇。

Cron能做什么?

cron是Linux的一个程序,可以让系统在指定的时间去执行某个指定的工作,使用crontab指令来管理cron。

如何编辑crontab?

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务,最常用的了

很多人不熟悉Linux指令,编辑完如何推出呢?按Esc 然后输入:wq即可保存,如果是用root登陆,一般记录文件会保存在/var/spool/cron/目录root文件,可直接修改里面的内容。

Crontab指令格式

* * * * * 命令

前面五个*参数是指时间
第一个 minute(分)可以设置0-59分
第二个 hour(小时)可以设置0-23小时
第三个 day of month(日期)可以设置1-31号
第四个 month(月份):可以设置1-12月
第五个 day of week(星期):可以设置0-7星期几,其中0和7都代表星期天,或者我们也可以使用名称来表示星期天到星期一,例如sun表示星期天,mon表示星期一等等

常用Crontab命令


每五分钟执行  */5 * * * *
每小时执行     0 * * * *
每天执行        0 0 * * *
每周执行       0 0 * * 0
每月执行        0 0 1 * *
每年执行       0 0 1 1 *

如何安装crontab
yum install crontabs

常用启动关闭命令
 /sbin/service crond start //启动服务
 /sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置

service crond status  //查看crontab服务状态:
service crond start  //手动启动crontab服务:
ntsysv //查看crontab服务是否已设置为开机启动
chkconfig –level 35 crond on //
加入开机自动启动
 * 23-7/1 * * * /etc/init.d/nginx restart   //晚上11点到早上7点之间,每 隔一小时重启nginx
 0 11 4 * mon-wed /etc/init.d/nginx restart  //每月的4号与每周一到周三 的11点重启nginx
 0 4 1 jan * /etc/init.d/nginx restart // 一月一号的4点重启nginx
 */30 * * * * /usr/sbin/ntpdate 210.72.145.20 //每半小时同步一下时间


crontab执行PHP脚本
以下两种都行

*/1 * * * * /usr/local/php/bin/php test.php
0 * * * * /usr/bin/wget -q 网址/Index/dingshi

作为一个PHP程序员,了解這个工具非常有必要,希望对大家有帮助。