配置文件位置/etc/crontab
1 vi /etc/crontab
2 SHELL=/bin/bash
3 PATH=/sbin:/bin:/usr/sbin:/usr/bin
4 MAILTO=root
5 HOME=/
6 # run-parts
7 01 * * * * root run-parts /etc/cron.hourly
8 02 4 * * * root run-parts /etc/cron.daily
9 22 4 * * 0 root run-parts /etc/cron.weekly
10 42 4 1 * * root run-parts /etc/cron.monthly
crond会每分钟定期检查是否有要执行的任务,如果有,就自动执行
1-4行配置crond任务运行的环境变量
5-10 配置内容
crontab常用的使用格式有如下两种:
crontab [-u user] [file]
crontab [-u user] [-e| -l| -r| -i ]
[-u user] 设定某个用户的crontab服务
[file] 命令文件的名字
[-e] 编辑某个用户的crontab文件内容
[-l] 显示某个用户的crontab文件内容
[-r] 从/var/spool/cron目录中删除某个用户的crontab文件
[-i] 在删除用户的crontab文件时给确认提示
 
crontab文件的含义
minute  hour  day  month  week  command
分钟     小时 天    月          星期几 要执行的命令
星号[*]:代表所有可能的值
逗号[,]:可以用逗号隔开的值指定一个列表范围
中杠[-]:可以用整数之间的中杠表示一个整数范围
正斜线[/]:可以用正斜杠指定时间的间隔频率 */10表示每10分钟执行一次
 
crontab文件举例
0 */3 * * * /usr/local/apache2/apachectl restart
每隔3小时重新启动APACHE服务一次
30 3 * * 6 /webdata/bin/backup.sh
每周六的3点30执行/webdata/bin/backup.sh脚本的操作
0 0 1,20 * * fsck /dev/sdb8
每月的1号和20号检查/dev/sdb8磁盘设备
10 5 */5 * * echo "">/usr/local/apache2/log/access_log
每个月的5 10 15 20 25 30号的5点10分执行清理apache日志操作
 
注意问题
1.注意环境变量问题
当手动执行没有问题,自动执行出现问题的时候,就需要查看环境变量。
2.注意清理系统用户的邮件日志
/dev/null 2 >&1
3.系统级任务调度与用户级任务调度
用户任务调度:用户输入crontab [-u user] [file]后,会在var/spool/cron目录下产生一条名字相同的文件。
系统任务调度:直接加入到etc/crontab文件中,想重新启动,必须加入到系统任务调度中去。