Linux系统crond定时任务
2015-10-26 16:27
417 查看
crond定时任务
简述:crond是linux系统的一个守护进程,真正管理crond定时任务的是crontab命令,但是crontab命令依赖于crond服务进程,所以crontab命令和crond两者不能分割,crond定时任务是企业生产工作中常用的重要服务,另外还有一些定时任务命令at和anacron很少使用,可以忽略。
1.命令:crontab
提示:当root编辑计划任务时,相当于修改/var/spool/cron/root,而如果是普通用户jonny编辑计划任务时,相当于修改/var/spool/cron/jonny
2.crontab 语法格式中时间段的含义如下表:
3.crontab 语法格式中特殊符号含义如下表
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编辑定时任务
[root@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
[root@Centos6 /]# crontab -u jonny -l
######Written by jonny data:2015-10-26#####
###########Backup Scheduled Tasks##########
00 12 * * * /bin/sh /server/script/data_bak.sh
[root@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
简述:crond是linux系统的一个守护进程,真正管理crond定时任务的是crontab命令,但是crontab命令依赖于crond服务进程,所以crontab命令和crond两者不能分割,crond定时任务是企业生产工作中常用的重要服务,另外还有一些定时任务命令at和anacron很少使用,可以忽略。
1.命令:crontab
常用参数 | 描述 |
-l | 列出当前定时计划任务 |
-e | 编辑定时计划任务文件,相当于vim /var/spool/root |
-r | 删除定时计划任务 |
-i | 删除计划任务前提醒 |
-u | 指定用户设置计划任务 |
2.crontab 语法格式中时间段的含义如下表:
段 | 含义 | 取值范围(整数) |
第一段 | 代表分钟 | 00-59(00也可以是0) |
第二段 | 代表小时 | 00-23 |
第三段 | 代表日,天 | 01-31 |
第四段 | 代表月份 | 01-12 |
第五段 | 代表星期,周几 | 0-7(0和7都是表示星期天) |
提示:时间记忆方法:分时日月周 |
特殊符号 | 含义 |
* | *号,表示任意时间,实际就是“每”的意思。 举例:如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。 [root@C58~]# crontab -l #time sync by oldboy 201510 00-59/10 * * * * /sbin/ntpdate time.windows.com >/dev/null 2>&1 |
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编辑定时任务
[root@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
[root@Centos6 /]# crontab -u jonny -l
######Written by jonny data:2015-10-26#####
###########Backup Scheduled Tasks##########
00 12 * * * /bin/sh /server/script/data_bak.sh
[root@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
相关文章推荐
- 调研crond (linux下的定时任务)
- Linux和windows系统直接的文件传输
- Linux下强制修改root密码方法(图)
- 学习日志---linuxの 源码编译使用及实例运行
- linux系统中cut sort tee 和uniq命令的使用
- crontab,Linux定时运行命令脚本的进程
- linux tail命令使用
- linux - mysql常用操作
- linux常用命令
- linux 下部分手机无法被adb连接的情况
- linux系统日志
- linux 安装bcrypt
- 我使用过的Linux命令之hexdump - ”十六“进制查看器
- Linux如何设置 hostname
- linux vsftpd
- linux网卡故障:弹出界面eth0: 错误:没有找到合适的设备:没有找到可用于链接System eth0 的
- 在linux虚拟机上安装jdk
- linux-常用命令
- windows/linux 安装gensim简易方法
- CentOS6.x ffmpeg编译出现的问题