在网站建设过程中,很多应用需要用到定时任务,如定时备份、定时抓取、定时更新数据、重启服务器等,这些都需要用到定时任务,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程序员,了解這个工具非常有必要,希望对大家有帮助。