循环性计划任务 周期性计划任务
安装软件
crontabs-1.10-33.el6.noarch
cronie-1.4.4-7.el6.x86_64
查看crontabs软件有无安装
# rpm -qa |grep crontabs
启动服务
# /etc/init.d/crond start 默认是启动的
# chkconfig |grep crond 默认2 3 4 5 是启动的
crontab的运行方式
/var/spool/cron/ 工作将以文本文件的方式写入此目录内以用户名命名的文件,例jack账户使用crontab后,他的工作就会记录到/var/spool/cron/jack文件中,执行的任务会记录到日志文件/var/log/cron中
配置
crontab [-u user] [ -e | -l | -r ]
-u 指定用户
-e 编辑用户的计划任务
-l 列出用户的计划任务
-r 删除用户的计划任务
#crontab -e 编辑周期性计划任务的内容 空白 man 5 crontab
时间 动作
分钟 小时 日 月 周
0-59 0-23 1-31 1-12 0-7
5 * * * * 命令或者脚本(写绝对路径)
*/5 * * * *
5-9
5,10,12
5-9,12-20,25-27
1 1 28 * 6
时间的写法
The time and date fields are:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)
* 任何时刻
, 分隔 // 0 3,6 * * * 3点和6点进行
- 一段时间 // 1-5 3 * * * 3点的1,2,3,4,5分钟进行
/n 每隔n单位间隔 // */5 * * * * 每5分钟进行
1-9/2 // "1,3,5,7,9"
例:
发邮件 女朋友生日5月2日 /home/tom/lover.txt 信的内容 每年发
crontab -e
59 23 1 5 * mail kiki < /home/tom/lover.txt
tom账户每小时执行脚本一次(脚本内的命令也一定要写绝对路径)
crontab -u tom -e
* */1 * * * /bin/bash a.sh
查询周期计划任务
crontab -l //查当前用户的计划任务
crontab -u tom -l //查指定用户的计划任务
修改
crontab -e 编辑文本 文本存放/var/spool/cron
删除某用户的所有周期计划任务(删除某条有crontab -e 进入文本删除某条)
# crontab -r //当前用户
# crontab -u redhat -r //指定用户
系统定义的计划任务
更新whatis数据库
更新updatedb数据库
日志定期轮转
清理/tmp,/var/tmp
收集系统的状态信息
...
# /etc/crontab 配置文件 需重启服务
SHELL=/bin/bash //使用的shell
PATH=/sbin:/bin:/usr/sbin:/usr/bin //执行文件查找命令
MAILTO=root //若有额外的输出,以email将数据发送给谁 /etc/crontab这个文件中例行工作的命令发生错误,将错误消息发给谁
HOME=/ //默认此shell的主文件夹所在
*/5 * * * * root 命令 //每隔5分中以root身份执行命令 默认不写用户是root
时间 执行者身份
01 * * * * root run-parts /root/runcron //每分钟执行/root/runcron文件夹下的脚本 新建 /root/runcron 文件夹
查看任务是否执行
/var/log/cron 日志文件中
以下目录内可以存放脚本 该脚本就会按照时间去执行
/etc/cron.daily 每天
/etc/cron.hourly 每小时
/etc/cron.monthly 每月1号
/etc/cron.weekly 每周日
cat /etc/cron.daily/tmpwatch 超过一个月不使用的文件删除
本文出自 “雨夜星空” 博客,请务必保留此出处http://rainy1119.blog.51cto.com/12555635/1912230
原文地址:http://rainy1119.blog.51cto.com/12555635/1912230