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

[经验分享] Linux系统crond定时任务

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-27 09:10:57 | 显示全部楼层 |阅读模式
简述:crond是linux系统的一个守护进程,真正管理crond定时任务的是crontab命令,但是crontab命令依赖于crond服务进程,所以crontab命令和crond两者不能分割,crond定时任务是企业生产工作中常用的重要服务,另外还有一些定时任务命令at和anacron很少使用,可以忽略。

1.命令:crontab
常用参数
描述
-l
列出当前定时计划任务
-e
编辑定时计划任务文件,相当于vim /var/spool/root
-r
删除定时计划任务
-i
删除计划任务前提醒
-u
指定用户设置计划任务
提示:当root编辑计划任务时,相当于修改/var/spool/cron/root,而如果是普通用户jonny编辑计划任务时,相当于修改/var/spool/cron/jonny


2.crontab 语法格式中时间段的含义如下表:

含义
取值范围(整数)
第一段
代表分钟
00-59(00也可以是0)
第二段
代表小时
00-23
第三段
代表日,天
01-31
第四段
代表月份
01-12
第五段
代表星期,周几
0-7(0和7都是表示星期天)
提示:时间记忆方法:分时日月周


3.crontab 语法格式中特殊符号含义如下表
特殊符号
含义
*
*号,表示任意时间,实际就是“每”的意思。
举例:如00 23 * * * cmd 表示每月每周每天的23:00都执行cmd任务。需要注意的是:每个时间为上的*表示每,如果位上是*就是该位上时间的取值范围,列如:小时上的*等价于00-23
经验技巧:定时任务规则如果到小时,口述时就最多提每天。
分位上的*就等价于0-59,表示每分。
-
减号,表示分隔符,表示一个时间范围,区间段,如17-19点,每天的17,18,19的00分执行任务。00 17-19 * * * cmd,就是17,18,19点整点分别执行的意思

逗号,表示分隔时段的意思。30 17,18,19 * * * /bin/sh/scripts/oldboy.sh 表示每天17、18、和19点的半点时刻执行/scripts/oldboy.sh脚本。也可以和“-”结合使用,例如:30 3-5,17-19 * * * /bin/sh/scripts/oldboy.sh
\n
n代表数字,即“每隔n单位时间”,例如:每10分钟执行一次任务可以写成*/10 * * * * cmd , 其中,*/10,*范围是0-59,因此,也可以写成0-59/10。
[iyunv@C58~]# crontab -l
#time sync by oldboy 201510
00-59/10 * * * * /sbin/ntpdate time.windows.com >/dev/null 2>&1

4.crond定时任务小技巧
a)养成习惯,脚本要创建一个专门存放脚本的地方,如/server/scripts
b)执行脚本习惯用运行/bin/sh #好处是不用老是记住需要给脚本执行权限
c)一般的脚本都要放到>>/dev/null 2>&1主要针对没有输出的命令
d)脚本最好是复制命令行执行过后,能够正常输出,然后在把命令复制到定时计划任务。
e)为定时计划任务规则加注释,(最好是英文注释),这是个习惯和规范。
例如:什么人,什么时间,因为谁,(需求方),做了什么事,如果这些信息记清楚了,这样其他的运维人员(同事)可以很容易理解任务的信息,从而提升团队工作效率。
f)在指定用户下执行相关的定时任务
g)生产任务程序不要随意打印输出信息
如果不就掉到空的话,那个定时任务输出就会发邮件给管理员,如果没有开邮件服务就会输出到邮件的队列文件,所以就出现inode出现问题的时候

5.crond定时任务演示:
a)crontab -l 列出定时任务
[jonny@Centos6 ~]$ crontab -l
######Written by jonny data:2015-10-26#####
###########Backup Scheduled Tasks##########
00 12 * * * /bin/sh /server/script/data_bak.sh

b)crontab -e 编辑定时任务
[jonny@Centos6 ~]$ crontab -e
######Written by jonny data:2015-10-26#####
###########Backup Scheduled Tasks##########
00 12 * * * /bin/sh     /script/data_bak.sh

c)crontab -r 删除定时任务
[jonny@Centos6 ~]$ crontab -r
[jonny@Centos6 ~]$ crontab -l
no crontab for jonny

d)crontab -ir 删除定时任务前提醒
[jonny@Centos6 ~]$ crontab -ir
crontab: really delete jonny's crontab? yes
[jonny@Centos6 ~]$ crontab -l
no crontab for jonny

e)crontab -u jonny -e 指定jonny编辑定时任务
[iyunv@Centos6 /]# crontab -u jonny -e        #注意:现在用户是root
######Written by jonny data:2015-10-26#####
###########Backup Scheduled Tasks##########
00 12 * * * /bin/sh /server/script/data_bak.sh
[iyunv@Centos6 /]# crontab -u jonny -l
######Written by jonny data:2015-10-26#####
###########Backup Scheduled Tasks##########
00 12 * * * /bin/sh /server/script/data_bak.sh
[iyunv@Centos6 /]# crontab -l
* 2 * * * /bin/sh /usr/sbin/apachebak.sh
*/5 * * * * /usr/sbin/ntpdate time.nist.gov
#test */7 to day is OK?
00 03 */7 * * /bin/sh /server/scripts/jonny.sh




运维网声明 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.yunweiku.com/thread-131236-1-1.html 上篇帖子: 【Linux】OpenWRT的无线设置注意事项——从2.4G到5G,hwmode不简单 下篇帖子: Sublime Text3注册码(可用) Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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