码迷,mamicode.com
首页 > 其他好文 > 详细

定时任务软件crond

时间:2016-05-13 15:36:33      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:crond   crontab   linux定时器   

运行linux后,开机自启动crond任务,系统会每分钟检查是否有要执行的任务工作(循环检测)

默认系统中可以登陆的用户,都可以使用crontab定义计划任务。

cron执行的每一项工作都会被纪录到/var/log/cron这个日志文件中,可以从这个文件查看命令执行的状态。


cron服务的启动关闭 

启动:service crond start 

停止:service crond stop 

重启:service crond restart 

查看状态:service crond status 

重新载入配置:service crond reload


crontab支持两种状态:

a.直接编写计划任务;(crontab -e)

b.使用目录的方式,放在目录里面的都会定时执行,定时目录可在/etc/crontab中设定。


可以通过/etc/cron.allowh和/etc/cron.deny文件限制权限,/etc/cron.allow优先于/etc/cron.deny配置,下面为Centos6.5下的测试

拒绝测试

技术分享

允许测试

技术分享


crontab用法

crontab [-u user] [-e | -l | -r]  

 -e   //编辑当前用户的定时任务

 -l   //查看当前用户的定时任务

 -r   //删除定时任务

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

比如说root查看自己的cron设置:crontab -u root -l 
再例如,root想删除fred的cron设置:crontab -u fred -r 

crontab –l –e都是直接操作/var/spool/cron/下当前用户名的文件


crontab命令书写格式:

*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。 

 *      *     *      *     *    /bin/sh /scripts/yy.sh

 分     时     日     月     周    命令和文件路径

(00-59)  (0-23)   (1-31)   (1-12)    (0-6)         

星号每的意思

减号连续一段时间,如:00 17-19 * * * cmd  每天下午17点,18点,19点执行一次命令

逗号多个时间段,如:00 10-11,17-19 * * * cmd 每天的上午10,11点整,下午的17,18,19点整执行一次命令

/n n代表数字,指每隔n时间执行一次,如: */2 * * * * cmd 每隔2分钟执行一次命令


举例:

每天早上6点 在根目录下的my_crond文件中追加Good morning.
0 6 *  *  *  echo  "Good morning."  >>  /my_crond      //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了

每两个小时 
0  */2  *  *  *  echo  "Have a break now."  >>  /my_crond

晚上11点到早上8点之间每两个小时,早上八点 (注意逗号)
0  23-7/2,8  *  *  *  echo  "Have a good dream:"  >>  /my_crond

每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 

0  11  4  *  1-3  command line 

1月1日早上4点 
0  4  1  1  *  command line 

每天的中午12点到下午4点间,每隔2小时执行一次

30 12-16/2 * * * cmd 


日和周不能同时用,若要以月为间隔,则日或周必有一个有值


自己写了一个测试

执行crontab -e 命令可进入编辑

下面命令的意思是每周三的早上7点到晚上23点,在40分到50分的时间段里每一分钟都往文件my_crond文件中追加一句hi,Today is Wednesday,(注:my_crond文件会在当前工作目录下被创建)

技术分享

技术分享

技术分享


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


调试定时任务

一个任务不能轻易的直接推上线上服务器,需要在测试服务器上测试好。

技术分享



本文出自 “零蛋蛋” 博客,请务必保留此出处http://lingdandan.blog.51cto.com/10697032/1772862

定时任务软件crond

标签:crond   crontab   linux定时器   

原文地址:http://lingdandan.blog.51cto.com/10697032/1772862

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!