crontab文件包含送交cron守护进程的一系列做业和指令。每一个用户能够拥有本身的crontab文件;同时,操做系统保存一个针对整个系统的crontab文件,该文件一般是/etc/crontab
,而这个文件只能由系统管理员修改。
/etc/crontab
文件中前三行:shell
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root
第一行SHELL变量指定了系统要使用哪一个shell,这里是bash。
第二行PATH变量制定了系统执行命令的路径。
第三行MAILTO变量制定了crond的任务执行信息将经过邮件发送给root用户, 若是该变量为空,则表示不发送任务执行信息给用户。bash
crontab [-u user] [-l| -r| -e] [-i] -l: 列出当前用户的计划任务 -e: 编辑当前用户的计划任务 -r: 删除当前用户的全部计划任务。即删除/var/spool/cron/USERNAME文件 -u: 管理制定用户的计划文件,仅root有权限 -i: 在使用-r选项删除全部任务时提示用户确认。
crontab -e
建立的计划任务会默认放在/var/spool/cron/目录下以用户名命名的文件中。操作系统
.---------------- minute (0 - 59) | .------------- hour (0 - 23) | | .---------- day of month (1 - 31) | | | .------- month (1 - 12) OR jan,feb,mar,apr ... | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat | | | | | * * * * * user-name command to be executed 在以上各个字段中,还可使用如下特殊字符: 星号(*):表明全部可能的值,例如month字段若是是星号,则表示在知足其它字段的制约条件后每个月都执行该命令操做。 逗号(,):能够用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9” 中杠(-):能够用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6” 正斜线(/):能够用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线能够和星号一块儿使用,例如*/10,若是用在minute字段,表示每十分钟执行一次。指定的时间点不能被步长整除时,其意义将不存在。例如 */7 * * * * 注意: a.每行定义一个周期性任务,共7个字段。user-name默认当前用户 b.执行计划任务的环境变量不一样于用户登陆后得到的环境,所以建议命令使用绝对路径 c.执行结果会发送邮件给mailto指定的当前用户
示例:code
*/5 * * * * 每5分钟执行一次 3 * * * * 每小时的第3分钟执行一次 3 4 * * 5 每周5的4点3分执行一次 5 6 7 * * 每个月的7号的6点5分执行一次 7 8 9 10 * 每一年的10月9号8点7分执行一次 9 8 * * 3,7 每周3和周日的8点9分 0 8,20 * * 3,7 每周3和周日的8点和20点执行一次 0 9-18 * * 1-5 周一到周五的9-18点,即工做时间内的每小时 0 7 25 12 * 每一年的12月25号7点执行一次