1.作用
使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户。
2.格式
crontab
[-u user] {-l | -r |
-e}
3.crontab命令选项:
-u指定一个用户,
-l列出某个用户的任务计划,
-r删除某个用户的任务,
-e编辑某个用户的任务
4.cron文件语法:
分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)
5.记住几个特殊符号的含义:
“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字
Crontab文件的格式为”M
H D m d
cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。Cmd表示要运行的程序,它被送入sh执行,这个shell只有USER、HOME、SHELL三个环境变量。
使用cron服务,用server
crond status查看cron服务状态,如果没有启动则service crond
start启动它,cron服务是一个定时执行的服务,可以通过crontab命令添加或编辑需要定时执行的任务:
crontab
–u
//设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab
–l //列出某个用户cron服务的详细内容
crontab –r
//删除某个用户的cron服务
crontab –e
//编辑某个用户的cron服务
crontab filename
//以filename作为crontab的任务列表文件并载入
比如说root查看自己的cron设置:crontab
–u root –l
再例如,root想删除fred的cron设置:crontab –u
fred –r
在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab –u
root
–e
进入vi编辑模式,编辑的内容一定要符合下面的格式:
*/1
* *
* * ls
>>/tmp/ls.txt
编辑/etc/crontab文件,在末尾加上一行:30
5 * * * root init
6这样就将系统配置为每天早上5点30分自动重新启动。
crontab
文件中的行由6个字段组成,不同字段间用空格或tab键分隔。前5个字段指定命令要运行的时间
分钟(0-59)
小时(0-23)
日期(1-31)
月份(1-12)
星期几(0-6,其中0代表星期日,好像7也代表星期日)
第6个字段是一个要在适当时间执行的字符串。
例子:
#MIN
HOUR DAY
MONTH DAYOFWEEK
COMMAND
#每天早上6点10分
10
6 *
* *
date
#每两个小时
0
*/2 * *
*
date
#晚上11点到早上8点之间每两个小时,早上8点
0
23-7/2,8 *
* *
date
#每个月的4号和每个礼拜一到礼拜三的早上11点
0
11 4
* 1-3
date
#1月1日早上4点
0
4 1
1 *
date
补充:在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)
(1)
先建一个文件crond.txt如下,每天早上5点36分重新启动
36
5 *
* *
reboot
(2)上传到/opt目录
(3)运行命令
crontab
/opt/crond.txt
crontab
–l
让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后,也要重新启动cron服务器。
cenos下重启cron命令:
etc/rc.d/init.d/crond restart
在Fedora和Redhat中,我们应该用:
/etc/rc.d/crond
restart
如果让crond在开机时运行,应该改变其运行级别:
chkconfig
--level 35 crond on
service crond
status查看cron服务状态,如果没有启动则service crond
start启动它,cron服务是一个定时执行的服务,可以通过crontab命令添加或者编辑需要定时执行的任务
centos下crontab的使用,布布扣,bubuko.com
原文:http://www.cnblogs.com/yinliang/p/3622896.html