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

Linux中如何实现任务计划

2013-04-01 08:00 302 查看
实现任务计划有两种方式:
1、在未来的某个时间点执行一次某任务
两个命令可以指定:
at
batch
(这里仅说明at的使用)
at 时间
at> COMMAND
at> Ctrl+d

指定的时间
绝对时间:HH:MM, DD.MM.YY, MM/DD/YY
相对时间:now+#
单位:minutes, hours, days, weeks
模糊时间:noon, midnight, teatime

命令的执行结果:将以邮件的形式发送给安排任务的用户

at -l : 显示作业列表
at -d AT_JOB_ID :删除未完成的作业
如下图:




【mail 1查看的内容与ls /var , /cat /etc/issue相同】
删除作业2




2、周期性的执行某任务
命令cron可指定
cron:自身是一个不间断运行的服务
anacron:cron的补充,能够实现让cron因为各种原因在过去的时间该执行而未执行的任务在恢复正常执行一次; 其配置文件为/etc/anacrontab

cron:
(1)系统cron任务:
编辑/etc/crontab
格式:
分钟 小时 天 月 周 用户 任务




(2)用户cron任务:
编辑/var/spool/cron/USERNAME
格式:
分钟 小时 天 月 周 任务
crontab
-l: 列出当前用户的所有cron任务
-e: 编辑
-r: 移除所有任务
-u USERNAME: 管理其用户的cron任务
如图:








管理其他用户:








时间的有效取值:
分钟:0-59
小时:0-23
天:1-31
月:1-12
周:0-7,0和7都表示周日
时间通配表示:
*:对应时间的所有有效取值
3 * * * * (每小时的第三分钟执行一次)
3 * * * 7 (每周日的每小时的第三分钟执行)
13 12 6 7 * (每7月6号的12:13执行一次)
,:离散时间点:
0,40 02 * * 2,5 (每周二和周五的2:10,2:40执行)
-:连续时间点:
10 02 * * 1-5 (每周一至周五的2:10执行)
/#: 对应取值范围内每多久一次
*/3 * * * * (每三分钟执行一次的任务)
08 */2 * * * (每两小时执行一次,"确定具体分钟")
10 04 */2 * * (每两天执行一次,"确定小时分钟")
执行结果将以邮件形式发送给管理员:
*/3 * * * * /bin/cat /etc/fstab &> /dev/null
cron的环境变量:cron执行所有命令都去PATH环境变量指定的路径下去找
PATH  /bin:/sbin:/usr/bin:/usr/sbin

cron在关机下是不执行任务的,因此,在经常关机的机器上最好使用anacron。

本文出自 “对着阳光微笑着” 博客,请务必保留此出处http://dongld.blog.51cto.com/4234800/1168237
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: