介绍
系统的定时任务调度功能,用于周期性执行命令完成工作。crontab任务调度分为系统任务调度和用户任务调度
安装crontab:yum install crontabs
crontab服务常用命令
service crond status //查看crontab服务状态
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
crontab常用命令
crontab –e //修改 crontab 文件,如果文件不存在会自动创建。
crontab –l //显示 crontab 文件。
crontab -r //删除 crontab 文件。
crontab -ir //删除 crontab 文件前提醒用户。
定时任务分类
系统定时任务配置文件:在/etc目录下的 crontab文件(主要执行系统任务:写缓存数据到硬盘、日志清理等)
用户定时任务配置文件:在/var/spool/cron 目录下,所有用户crontab文件存放的目录,以用户名命名(主要执行用户工作:数据备份,定时邮件提醒等)
crontab默认调度任务
只需将执行脚本放到相应目录即可
/etc/cron.deny:列出不允许使用crontab命令的用户
/etc/cron.daily:每天执行一次的脚本
/etc/cron.hourly:每小时执行一次的脚本
/etc/cron.monthly:每月执行一次的脚本
/etc/cron.weekly:每星期执行一次的脚本
这是cron.hourly目录下的脚本文件mycron1.sh,将会每小时执行一次
其它目录
/var/spool/cron:用户定义的crontab文件存放目录
/etc/cron.d:存放要执行的crontab文件或脚本
/etc/crontab:系统任务调度的配置文件
/etc/anacrontab:anacron配置文件
定时任务格式
共6个字段 前面5个表示时间,最后1个是要执行的命令
minute hour day month week command
minute: 表示分钟,可以是从0到59之间的任何整数。
hour: 表示小时,可以是从0到23之间的任何整数。
day: 表示日期,可以是从1到31之间的任何整数。
month: 表示月份,可以是从1到12之间的任何整数。
week: 表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
/etc/crontab系统任务文件截图
定时任务执行案例
每分钟执行一次,把当前时间写入文件
* * * * * echo `date` >> /home/hpc/cesTime1.log 2>&1 &
每小时的第3和第15分钟执行
3,15 * * * * command
在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * command
每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * command
每个星期一的上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 command
每晚的21:30重启网络
30 21 * * * /etc/init.d/networking restart
每月1、10、22日的4:45重启网络
45 4 1,10,22 * * /etc/init.d/networking restart
每周六、周日的1 : 10重启网络
10 1 * * 6,0 /etc/init.d/networking restart
每天18 : 00至23 : 00之间每隔30分钟执行
0,30 18-23 * * * command
每星期六的晚上11 : 00 pm执行
0 23 * * 6 command
每一小时执行
* */1 * * * command
晚上11点到早上7点之间,每隔一小时执行
* 23-7/1 * * * command
每月的4号与每周一到周三的11点执行
0 11 4 * mon-wed command
一月一号的4点执行
0 4 1 jan * command