Linux计划任务(at batch crontab anacron)

· 未来只做一次 at (依赖于atd服务)

· 未来周期性做 cron (依赖于crond服务)

· cron补充(开机后执行) anacron (依赖于anacron服务)

at: at 命令被用来在指定时间内调度一次性的任务。

at [-mldv] TIME 选项与参数: -m :当at的任务完成后,,即使没有输出信息,也以 email 通知给使用者 -l :列出目前系统上面的所有该使用者的at任务(同atq) -d :可以取消一个在 at 任务(同atrm) -v :可以使用较明显的时间格式列出 at 任务 -c :可以列出后面接的该项任务的内容

at命令的时间格式: now + 时间 :时间以 minutes、hours、days、或 weeks 为单位 HH:MM :24小时制度,如果时间已过,就会在第二天的这一时间执行 midnight :表示00:00 noon :表示12:00 teatime :表示16:00

[root@rhel6 ~]# at 13:10 //定义一个at任务在13:10执行 at> date >> /tmp/at //将当前时间输入/tmp/at文件 at> echo “at command test” >> /tmp/at at> uname -r >> /tmp/at at> <EOT> //另选一行按Ctrl+D退出at命令模式 job 1 at 2012-12-28 13:10 [root@rhel6 ~]# at now + 1 minutes //再定义一个at任务在1分钟后执行 at> date >> /tmp/at at> echo “at command test again” >> /tmp/at at> sleep 10 at> date >> /tmp/at at> <EOT> job 2 at 2012-12-28 13:10 [root@rhel6 ~]# date Fri Dec 28 13:09:09 CST 2012 [root@rhel6 ~]# atq //显示系统中所有的at任务 2 2012-12-28 13:10 a root 1 2012-12-28 13:10 a root [root@rhel6 ~]# cat /tmp/at Fri Dec 28 13:10:00 CST 2012 Fri Dec 28 13:10:00 CST 2012 at command test at command test again 2.6.32-220.el6.x86_64 Fri Dec 28 13:10:10 CST 2012 //对比两个时间可见at任务是按顺序执行命令的

补充:batch batch 命令被用来在系统平均负载达到 0.8% 以下时执行一次性的任务,用法与at一样 [root@rhel6 ~]# batch midnight //在00:00之后系统平均负载达到0.8%以下的时候执行 at> sync at> sync at> shutdown -h now at> <EOT> job 3 at 2012-12-28 13:20 [root@www ~]# atq 3 2012-12-28 13:20 b root [root@www ~]# atrm 3 //取消batch任务

/etc/at.allow 和 /etc/at.deny 文件可用来限制对 at 和 batch 命令的使用(root用户不受其控制)。这两个使用控制文件的格式都是每行一个用户(不允许空格),且文件修改后,atd守护进程不需重启。 如果at.allow文件存在,那么只有其中列出的用户才被允许使用at或batch命令,且忽略cron.deny文件。如果at.allow文件不存在,那么所有在cron.deny中列出的用户都将禁止使用at和batch.

生命太过短暂,今天放弃了明天不一定能得到

Linux计划任务(at batch crontab anacron)

相关文章:

你感兴趣的文章:

标签云: