日期:2014-05-16  浏览次数:20654 次

linux下定时服务cron的使用

1.linux启动关闭cron用如下命令

[root@localhost ~]# /etc/init.d/cron start

[root@localhost ~]# /etc/init.d/cron stop

[root@localhost ~]# /etc/init.d/cron restart

2. 增加删除执行任务有2方式

?

直接用crontab

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

crontab -l //列出某个用户cron服务的详细内容

crontab -r //删除没个用户的cron服务

crontab -e //编辑某个用户的cron服务

进入vi编辑模式,编辑的内容一定要符合下面的格式:* * * * * *

每一个*分别代表

?

?

1 2 3 4 5 6
分钟 小时 日期 月份 指令
0-59 0-23 1-31 1-12 0-7 需要执行的命令

?

其中有几个特殊符号

?

*????????? 表示任何时候
, 表示这个个都可以,如:月上填1,4,7表示在1月,4月,7月执行,其他不执行
- 表示从-左边开始,到右边结束,如:分上12-16 表示从12分到16分之间都执行
/n n代表数字,配合*使用表示每隔多久,如:时那里写上 * /3 就是每隔3小时执行

?

了解基础命令后,我们来举一个例子

?

eg.

?

第5分钟执行一次

*/5 * * * * >/home/dmtsai/test.sh

?

每小时的第10分钟执行一次

10 * * * * date > /tmp/date.log

?

每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。

?

直接编辑他的执行文件

?

其实cron真正执行的是 /etc/crontab的配置文件

上面的编辑,只是把内容拷贝到了/etc/crontab文件

?

vi /etc/crontab 就能看到如下信息

?

SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
*/5 * * * * >/home/dmtsai/test.sh
10 * * * * date > /tmp/date.log

?

直接编辑这个文件,也能增加命令,方式同上面一样。

?

编辑完成后重新启动cron服务

?

?