设为首页 收藏本站
查看: 375|回复: 0

[经验分享] Crontab 定时任务详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-12 09:02:44 | 显示全部楼层 |阅读模式
计划任务分2种:
1、  例外性:按一定的周期循环来执行工作,例如每月发薪水、每天一次的工作报告、每天需要的打卡等等;
2、  临时性:指定时间执行的命令,这次做完下次不必做的,例如女朋友的生日、领导检查工作等;
这些计划任务的工作 Linux也都可以帮助我们,例如:每天早6:00要叫我起床(当然是通过音频设备了);下班之前发送一份Email给自己,提醒别忘记发日报等等;
对于周期性的任务用cron命令;
对于临时性的任务用 at 命令;
at命令:在指定的时间执行指定的命令,执行完之后就从系统中取消该命令;
cron命令:在指定的时间周期性的执行指定的命令;

安装crontab:

     yum install crontabs

说明:

     /etc/init.d/crond start          启动服务

     /etc/init.d/crond stop           关闭服务

     /etc/init.d/crond restart        重启服务

     /etc/init.d/crond reload         重新载入配置


查看crontab服务状态:       /etc/init.d/crondd status

查看crontab服务是否已设置为开机启动,执行命令:ntsysv

加入开机自启动:         chkconfig –level 35 crond on

1、  crontab命令
功能说明:      设置计时器
语法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]
补充说明: cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序;只要用户会编辑计时器的配置文件,就可以使用计时器的功能;
其配置文件格式如下:
                 Minute     Hour         Day  Month      DayOFWeek     Command
参数:
                    -e      编辑该用户的计时器设置;
                    -l       列出该用户的计时器设置;
                    -r      删除该用户的计时器设置;
                    -u<用户名称>          指定要设定计时器的用户名称;
2、  crontab格式

基本格式:    *    *    *    *    *    command

              分   时   日   月   周     命令

         第1列表示:分钟1~~59 每分钟用*或*/1表示

         第2列表示:小时1~~23  (0 表示0点)

          第3列表示:日期1~~31

         第4列表示:月份1~~12

         第5列表示:星期0~~6   (0 表示 星期天)

         第6列表示:运行的命令

QQ截图20150112090107.jpg
3、  案例

30 21 * * * /etc/init.d/nginx restart              每晚21:30 重启nginx

45 4 1,10,22 * * /etc/init.d/nginx restart       每月1、10、22日的4:45分 重启nginx

10 1 * * 6,0/etc/init.d/nginx restart            每周六日的1:10 重启nginx

0,30 18-23 * * * /etc/init.d/nginx restart         18点至23点之间每隔30分钟重启nginx

0 23 * * 6 /etc/init.d/nginx restart               每周六的23点重启nginx

* */1 * * * /etc/init.d/nginx restart              每一小时重启nginx

* 23-7/1 * * * /etc/init.d/nginx restart            晚上23点到早上7点之间,每小时重启nginx

0 11 4 * mon-wed /etc/init.d/nginx restart         每月4号的周一到周三 11点重启nginx

0 4 1 jan * /etc/init.d/nginx restart              一月1号的4点重启nginx

*/30 * * * * /usr/sbin/ntpdate 210.72.145.20       每30分钟同步一次时间



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-40522-1-1.html 上篇帖子: linux下遇到插拨serial TLL时内核提示的错误信息 下篇帖子: CentOS下tmux打造完美终端管理工具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表