您的位置:首页 > 运维架构 > Linux

linux 计划任务

2016-07-12 23:43 330 查看
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的普通用户名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: