Linux┊at工具

Category : 工作学习 / Tags : , / Date : 2006.11.10 / /

目录

1、at 概说
2、at

2.1 at 的开启、停止、重新启动方法
2.2 at 配置文件;
2.3 at 命令语法格式
2.4 举例
2.5 相关命令

3、参考文档;

==========================================================
正文
==========================================================

1、at概说

  at:计划任务,在特定的时间执行某项工作,只在特定的时间执行一次。

2、at
 
2.1 at 的开启、停止、重新启动方法;

  在一般情况下,at都是系统默认安装的,在Redhat或Fedora等以RPM包管理的系统中;

# /etc/init.d/atd start
# /etc/init.d/atd stop
# /etc/init.d/atd restart

  如果想在Redhat 和 Fedora 或以这些发行版为基础克隆的发行版,如果想自动开机运行,请用下面的办法;

# chkconfig –levels 35 atd on

2.2 at 配置文件;

  为了安全性的问题,我们可以限制使用 at 的使用者帐号:

  /etc/at.allow 仅允许这个文件里列出的用户使用at

  /etc/at.deny 该文件列出的用户都不能使用at服务

  /etc/at.allow 和 /etc/at.deny 文件被用来限制对 at 的使用。这两个使用控制文件的格式都是每行一个用户。两个文件都不允许空格。如果使用控制文件被修改了,at 守护进程(atd)不必被重启。使用控制文件在每次用户添加或删除一项 at 任务时都会被读取。
  
  /etc/at.allow 比 /etc/at.deny 优先级高

  如果 at.allow 文件存在,只有其中列出的用户才被允许使用 at,并且 at.deny 文件会被忽略。

  如果 at.allow 文件不存在,所有在 at.deny 中列出的用户都被禁止使用 at。当这个文件为空时,任何用户都可以使用at,这是默认配置。

  当运行at命令时,先检查/etc/at.allow文件是否存在,如果不存在,再检查 /etc/at.deny文件是否存在。无论使用控制文件中的规定如何,root用户都总是可以使用 at。

  如果这两个文件都不存在,只有root用户都可以执行at命令。

  這两个文件只选择一个来限制而已,因此,建议您只要保留一个即可, 免得影响在設定上面的判断!一般来说,系统预设是保留 /etc/at.deny , 您可以将不想让他执行 at 的那个使用者写入 /etc/at.deny 中
  
2.3 at命令语法格式

at [-V][-q 队列][-f 文件][-m] time

  选项说明:

-V     显示标准的错误输出。
-f     可将作业存在一个文件中,用这个选项指定文件。例如一个shell文件。
-q     指定队列名称,默认为c。
-m     执行后给用户发邮件。
time  指定开始执行的时间。

  时间格式为:

HH:MM             ex> 04:00
在今日的 HH:MM 时刻進行,若该时刻已超过,则明天的 HH:MM 进行此工作。

HH:MM YYYY-MM-DD    ex> 04:00 2006-12-03
强制规定在某年某月的某一天的特殊时刻进行该工作

HH:MM[am|pm] [Month] [Date]  ex> 04pm December 3
也是一样,强制在某年某月某日的某时刻进行

HH:MM[am|pm] + number [minutes|hours|days|weeks]
  ex> now + 5 minutes  ex> 04pm + 3 days
就是说,在某个时间点『再加几个时间后』才进行

  日期格式也可为:

MM/DD/YY或MM.DD.YY或MMDDYY

2.4 举例

  范例一:再过五分钟后,将 /root/.bashrc 寄給 dmtsai 這个使用者

# at now + 5 minutes
at> /bin/mail dmtsai -s "testing at job" < /root/.bashrc  #:这时你就可以输入你要执行的命令
at> <EOT>   <==输入 [ctrl] + d 就会出现 <EOF> 的字样!代表结束!
job 8 at 2005-09-07 10:47

  上面這行信息说明,第 8 个 at 工作将在 2005/09/07 的 10:47 進行!

  范例二:由于机房预计于 2005/09/16 停电,我想要在 2005/09/15 23:00 关机

# at 23:00 2005-09-15
at> /bin/sync
at> /bin/sync
at> /sbin/shutdown -h now
at> <EOT>
job 10 at 2005-09-15 23:00

  您瞧瞧! at 还可以在一个工作內输入多个指令呢!不错吧!

2.5 相关命令

  atq:列出主机上用户待执行的任务,除了root用户的外,每个用户的任务都将被列出。

  例如:

# atq
4       2007-03-11 21:34 a root

  上面说的是:『在 2007/03/11 的 21:34 有一项工作,该项工作指令下达者为 root』而且,该项工作的工作号码 (jobnumber) 为4号!

  atrm:通过任务号删除at任务

  例如:

# atrm 4  #将上述的第 4 个工作移除
# atq       #沒有任何信息,表示该工作被移除

3、参考文档
http://www.vbird.org/linux_basic/0430cron.php#atq_atrm
http://luansheng.blogbus.com/logs/2006/06/2698252.html



无觅相关文章插件,快速提升流量

Comments

There are no comments.

Leave a Reply

You must be logged in to post a comment.

传奇 似水流年 绽放 风筝 八月照相馆