crontab命令介绍

1.crontab简介

1.crontab表达式通常用于设定周期性的执行任务或者指令,常用于定时任务的处理

crontab表达式格式为:

minute  hour  day  month  week   username  command,如下图所示:

crontab命令介绍_第1张图片

minute:分钟,取值(0-59)

hour:小时,取值(0-23)

day:日期,取值(1-31)

month:月份,取值(1-12)或者英文缩写:jan,feb,mar,apr等前三个词

week:星期,取值(0-6/1-7)其中Sunday=0 or 7或者sun,mon,tue,wed,thu,fri,sat

username:指明此crontab表达式试用于哪个用户,如果不写默认为系统当前用户

command:代表需要执行的指令或者脚本文件

各个域之间以空格进行分隔,五个域除了能取上述值以外,还支持使用一些特殊字符作为特殊含义

1)*(星号)代表不做特殊处理,指“每一”的意思,如minute域中使用了星号,代表满足其它条件下的每一分钟

2),(逗号)每个域内部多个值之间可以使用逗号进行分隔,代表取多个值,并列存在,如hour域值为3,5代表满足其它条件情况下的3点和5点钟执行指令

3)-(中划线)代表连续取值的意思,如day取值3-7代表满足其它条件下,每个月的第3,4,5,6,7天都执行该指令

4)/(正斜杠)代表时间间隔频率,用于辅助含义,如day取值3-7/2代表每个月的3到7天内每隔2天执行一次,如果day取值*/2代表每个月中每隔2天就执行一次

2.crontab示例如下(默认当前用户):

1)每分钟执行一次command命令

* * * * * command

2)每小时的第10分钟和第30分钟执行一次command命令

10,30 * * * * command

3)奇数月的每周一到周五每20分钟执行一次command命令

*/20 * * */2 1-5 command

4)每晚的20:10分将服务器关机

10 20 * * * shutdown now

5)每天下午15:20运行巡检脚本

20 15 * * *  root  sh  /home/user1/test.sh

3.crontab命令详解

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

1) -u 代表指定某个用户的crontab文件,用来限定执行权限的,如果不指定默认为当前用户,如果不加file,默认接受标准输入(键盘等)

2)-l 显示指定用户下的crontab文件,如果不指定用户代表当前用户

3)-r删除指定用户下的crontab文件,如果不指定用户代表当前用户

4)-e编辑指定用户下crontab文件,如果不指定用户代表当前用户

5)-i代表删除指定用户下crontab文件时给予确认提示

可以创建一个crontab文件,例如time_execute,文件内容如下:

10 20 * * * shutdown now

然后使用命令crontab  time_execute将该文件提交给crond服务,该服务加载该文件,然后该文件指令开始生效,代表每天晚上20:10分服务器自动关机

4.crontab服务

1)安装crontab服务

yum install crontabs

2)查看crontab服务的状态是否正常

service crond status

3)停止/启动 crontab服务

service crond stop/start

4)重启crontab服务

service crond restart

5)重新载入配置

service crond  reload

5.crontab加入开机自启动

1)查看crontab是否已加入开机自启动

ntsysv

2)加入开机启动

chkconfig --level 35 crond on

或者

将service crond start启动命令加入到/etc/rc.local中


你可能感兴趣的:(linux基本命令,shell脚本,linux,脚本,vi命令,shell)