仅执行一次的工作排程--atd服务

1、启动:
/etc/init.d/atd restart

2、设置开机自启动:
chkconfig atd on

3、/etc/at.allow 与 /etc/at.deny,即白名单和黑名单,一行一个帐号就行,如果都是空的话,那就只有root可以使用

4、命令参数:
[root@www ~]# at [-mldv] TIME
[root@www ~]# at -c 工作号码
选项与参数:
-m :当 at 的工作完成后,即使没有输出讯息,亦以 email 通知使用者该工作已完成。
-l :at -l 相当于 atq,列出目前系统上面的所有该使用者的 at 排程;
-d :at -d 相当于 atrm ,可以取消一个在 at 排程中的工作;如at -d 1
-v :可以使用较明显的时间格式列出 at 排程中的工作列表;
-c :可以列出后面接的该项工作的实际指令内容。

TIME:时间格式,这里可以定义出‘什么时候要进行 at 这项工作’的时间,格式有:
HH:MMex> 04:00
在今日的 HH:MM 时刻进行,若该时刻已超过,则明天的 HH:MM 进行此工作。
HH:MM YYYY-MM-DDex> 04:00 2009-03-17
强制规定在某年某月的某一天的特殊时刻进行该工作!
HH:MM[am|pm] [Month] [Date]ex> 04pm March 17
也是一样,强制在某年某月某日的某时刻进行!
HH:MM[am|pm] + number [minutes|hours|days|weeks]
ex> now + 5 minutesex> 04pm + 3 days
就是说,在某个时间点‘再加几个时间后’才进行。

5、实例:
范例一:再过五分钟后,将 /root/.bashrc 寄给 root 自己
[root@www ~]# at now + 5 minutes <==记得单位要加 s 喔!
at> /bin/mail root -s "testing at job" < /root/.bashrc
at> <EOT> <==这里输入 [ctrl] + d 就会出现 <EOF> 的字样!代表结束!
job 4 at 2009-03-14 15:38

范例二:由于机房预计于 2009/03/18 停电,我想要在 2009/03/17 23:00 关机?
[root@www ~]# at 23:00 2009-03-17
at> /bin/sync
at> /bin/sync
at> /sbin/shutdown -h now
at> <EOT>
job 5 at 2009-03-17 23:00

6、管理
显示有多少任务:-l
删除:-d 序号
看任务内容:-c 序号

7、系统空闲时才执行:
batch--他会在 CPU 工作负载小于 0.8 的时候,才进行你所下达的工作任务。
用法和管理都和at一样,只是在下达任务时,把at变成batch而已。

你可能感兴趣的:(工作)