Linux计划任务
2013-09-10 19:01 hduhans 阅读(186) 评论(0) 收藏 举报利用“任务计划”,可以将任何脚本、程序或文档安排在某个最方便的时间运行。
一、计划任务命令
(一) 一次性任务,at命令。
1、绝对计时方法
1) midnight noon teatime(4 pm),如:at midnight
2) hh:mm [today],如:at 15:30 today
3) hh:mm tomorrow,如:at 15:30 tomorrow
4) hh:mm 星期
5) hh:mm [MM/DD/YY、DD.MM.YY、MMDDYY],如:at 15:30 9/10/13 --2013年9月13日15:30
2、相对计时方法
1) now + n minutes
2) now + n hours
3) now + n days
3、使用范例
1) at now+3 minutes
> /usr/bin/wall "This is wall message"
2) at now+3 minutes -f /test/at.script --将命令保存至文件/test/at.script,此处-f可用 > 重定向代替
3) at -l 或 atq --查看当前计划任务
4) atrm 任务编号 或 at -d 任务编号 --删除计划任务
注:1) 计划任务中使用命令最好实用命令所在的实际路径(使用whereis查看命令路径)
2) 命令输入结束按Ctrl+D结束并保存命令
3) at计划任务默认存放路径 /var/spool/at/
5、at命令使用权限配置文件
配置文件存放路径分别为:① /etc/at.allow ② /etc/at.deny
说明:1) 如果at.allow文件存在,则只有列在此文件内的用户可以使用at命令;
2) 如果at.allow文件不存在,则检查at.deny文件是否存在。如果at.deny文件存在,则列在此文件内的用户不能使用at命令;如果at.deny文件不存在,则只有超级用户可使用at命令。
3) 如果两个文件都存在且均为空,则所有用户均可以使用at命令。
(二) 检测负载执行,batch命令(非重点)。
batch是at命令的子命令,batch命令在执行时会检测系统的负载,只有当系统负载较轻(<0.8)时,才会执行计划任务。batch命令的使用方法同at命令。
(三) 周期性任务,cron(重点)。
1、时间的抒写,参数列表:
1) minute 一小时中的哪一分钟[0~59]
2) hour 一天中的哪个小时[0~23]
3) day-of-month 一月中的哪一天[1~31]
4) month-of-year 一年中的哪一月[1~12]
5) day-of-week 一周的哪一天[0~6]
6) commands 执行的命令
法则:明确的时间写值,不明确写*
范例: 分钟 小时 天 月 星期 命令/脚本
1) 30 17 * * 1-5 /usr/bin/wall > /etc/issue --每星期一到星期五下午17:30分执行命令,通知所有用户,通知内容/etc/issue
2) 45 17 * * 1-5 /sbin/shutdown -h -now --每星期一到星期五下午17:45分执行关机命令
3) */2 12-14 * 3-6,9-12 1-5 略 --每年的3-6月和9-12月中的礼拜一到礼拜五的下午12点到14点每隔2分钟执行命令
2、实例。
1) crontab -e (回车)
30 17 * * 1-5 /usr/bin/wall > /etc/issue
3、查看删除命令。
1) 查看 crontab -l
2) 删除 crontab -e 删除对应的记录行
4、cron配置文件
1) /etc/crontab,系统默认会执行四个计划任务,可详细参考最后四行
2) /etc/cron.allow 和 /etc/cron.deny ,与at命令的配置类似,详细可参考帮助文档(命令:man crontab)
注:1) crontab命令保存路径/var/spool/cron,可直接编辑此文件
2) 若ps -le | grep crond找不到服务,可手动启动服务,命令:/etc/rc.d/inint.d/crond start
浙公网安备 33010602011771号