费话不多说,下面开始今天的内容
格式说明
# Example of job definition:
# .—————- 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
# | | | | |
# * * * * * command to be executed
特殊的符号说明
“*”代表所有的取值范围内的数字。特别要注意哦!
“/”代表每的意思
“*/5″表示每5个单位
“-”代表从某个数字到某个数字
“,”分散的数字
特别提醒
1、/etc/crontab这个里面的计划任务是系统中的计划任务
2、crontab -e是用来编辑某个用户的计划任务
3、每条命令执行完毕之后,系统会自动将输出发送邮件给当前系统用户。日积月累,非常的多,甚至会撑爆整个系统。所以每条命令命令后面进行重定向处理是非常必要的: >>/dev/null 2>&1
4、每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。
5、cron启动后每过一份钟都会读取/var/spool/cron/username和/etc/crontab这两个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。
6、在默认情况下,如果cron每执行一次指令后,都会向用户的本地信箱中发送邮件,时间长了则产生数量很多的邮件。那么如何禁止掉呢?可能通过下面的方法来实现
■.将执行命令的信息重定向到
cron_command >/dev/null 2>&1
■.将执行命令的信息重定向到
cron_command &>/dev/null
■.在crontab设置文件中指定发送到得邮件
MAILTO=”"
一些常见的实例
0 */2 * * * #每两个小时
0 23-6/2,8 * * * #晚上23点到早上6点之间每两个小时,早上八点
0 11 4 * 1-3 #每个月的4号和每个星期的星期一到星期三的早上11点
30 21 * * * #每晚的21:30
45 4 1,10,22 * * #每月1、10、22日的4:45
10 1 * * 6,0 #每周六、周日的1 : 10
0,30 18-23 * * * #每天18:00至23:00之间每隔30分钟
0 23 * * 6 #每星期六的23:00
* */1 * * * #每一小时
* 23-7/1 * * * #晚上11点到早上7点之间,每隔一小时
0 11 4 * mon-wed #每月的4号与每周一到周三的11点
0 4 1 jan * #一月一号的4点