Linux的cron安装和使用

  • 2015-09-16
  • 浏览 (945)

cron是linux下用来周期性的执行某种任务或等待处理某些事件,cron进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

一、安装
一般linux上已经安装了cron,如果没有安装可以用下面命令进行安装:
yum -y install vixie-cron
yum -y install crontabs
说明:
vixie-cron 软件包是 cron 的主程序;
crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

二、配置

cron是linux的内置服务,可以用以下方法操作这个服务:

#启动服务
service crond start     
#关闭服务
service crond stop     
#重启服务 
service crond restart   
#查看crontab服务状态
service crond status    


在CentOS系统中加入开机自动启动:

 chkconfig --level 345 crond on

你也可以将这个服务在系统启动的时候自动启动:
在/etc/rc.d/rc.local这个脚本的末尾加上:
/sbin/service crond start

三、crontab
cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
usage:	crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
-e	(edit user's crontab)
-l	(list user's crontab)
-r	(delete user's crontab)
例子:root查看darcy的cron设置:crontab -u darcy -l

在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -e 进入vi编辑模式,编辑的内容一定要符合下面的格式:
# 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

#每一个小时执行一下/root/who.sh这个脚本
0 */1 * * *  /root/who.sh

#晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * * echo "I am running!" >> /root/log.txt

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 /root/who.sh

#1月1日早上4点
0 4 1 1 * /root/who.sh


0  赞