crontab
周期性的时间计划任务,时间过了也不执行,到下一个周期再执行
/etc/init.d/crond start 开启crond服务
vim /etc/crontab crontab配置文件
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
第一字段:分钟,取值范围0到59
第二字段:小时,取值范围0到24
第三字段:日,取值范围具体看月份
第四字段:月,取值范围1到12
第五字段:星期,取值范围0到7, 0和7都代表星期天
第六字段:执行任务的身份
第七字段:要执行的命令,多条命令用分号隔开,用括号括起来;
run-parts定义后面是一个目录,后面必须写目录路径,代表运行此目录里的所有脚本
时间格式
* 代表每分钟,每小时,每天,每月,每周
, 逗号代表分隔时间
- 代表时间段
/n 代表每隔n个单位
例:
每个小时的前30分钟执行任务
1-30 * * * *
每个小时的第29,58分钟执行
29,58 * * * *
每隔2分钟执行
*/2 * * * *
每个月的15号每三个小时,每两分钟,执行任务
*/2 */3 15 * *
每个月的15号每三个小时,每两分钟,执行任务或者星期七每三个小时,每两分钟执行任务
*/2 */3 15 * 7
练习:
每天的1,3,7,8,13,21点的05分执行
每月的5号到20号的4点到13点的15分执行
每个星期三的每两小时
每年的5到8月的星期三和星期天的4点01分执行
例:
vim /etc/crontab
* * * * * root echo ‘hello‘ > /dev/pts/2
保存退出,不需要重启服务,保证服务是启动状态,每分钟我们第二个终端就会收到hello
crontab -e 设定自己的时间任务
* 21 * * * init 0 每天21点关机
crontab -l 查看自己的时间任务
crontab -l -u root 查看root用户的时间任务
crontab -e -u root 编辑root用户的时间任务
crontab -r 删除当前用户所有时间任务
crontab -i 删除前要求确认
/etc/cron.allow 允许使用crond的普通用户名,有此文件不用考虑cron.deny
/etc/cron.deny 拒绝使用crond的普通用户名linux 计划任务
原文:http://blog.csdn.net/morixinguan/article/details/51893703