at命令

at命令允许用户向cron守护进程提交作业,使其在稍后的时间运行。这里稍后的时间可能是指10min以后,也可能是指几天以后

根用户可以通过/etc目录下的at.deny文件来控制哪些用户可以使用at命令,哪些用户不行。不过一般来说,对at命令的使用不如对crontab的使用限制那么严格。

[hadoop@localhost etc]$ ll *deny* -rw-r--r--. 1 root root 1 Apr 10 2018 at.deny -rw-------. 1 root root 0 Apr 10 2018 cron.deny -rw-r--r--. 1 root root 460 Jun 7 2013 hosts.deny

at命令的基本形式为:

at [-f script] [-m -l -r] [time] [date]

其中,

-f script 是所要提交的脚本或命令。

-l 列出当前所有等待运行的作业。 atq命令具有相同的作用。

-r 清除作业。为了清除某个作业,还要提供相应的作业标识(ID);有些UNIX变体只接受atrm作为清除命令。

-m 作业完成后给用户发邮件。

time at命令的时间格式非常灵活;可以是 H、HH . HHMM、HH:MM或H:M,其中H和M分别是小时和分钟。还可以使用a.m.或p.m.。

date 日期格式可以是月份数或日期数,而且at命令还能够识别诸如today、tomorrow这样的时间。

例:

[hadoop@localhost w1]$ at -f ./b.sh 23:48 job 7 at Sun Sep 18 23:48:00 2022 [hadoop@localhost w1]$ at -f ./b.sh 23:45 job 8 at Sun Sep 18 23:45:00 2022

使用 at -l命令来列出所有的作业

[hadoop@localhost w1]$ at -l

#第一列是作业标识,后面是作业运行的日期 /时间。第三列a代表at,最后一列是用户

3 Sun Sep 18 23:40:00 2022 a hadoop

4 Sun Sep 18 23:45:00 2022 a hadoop

5 Sun Sep 18 23:48:00 2022 a hadoop

6 Sun Sep 18 23:40:00 2022 a hadoop

7 Sun Sep 18 23:48:00 2022 a hadoop

8 Sun Sep 18 23:45:00 2022 a hadoop

清除一个作业

清除作业的命令格式为:atrm [job no] 或at -r [job no]

要清除某个作业,首先要执行 at -l命令,以获取相应的作业标识,然后对该作业标识使用at -r命令,清除该作业。

[hadoop@localhost w1]$ at -l 3 Sun Sep 18 23:40:00 2022 a hadoop 4 Sun Sep 18 23:45:00 2022 a hadoop 5 Sun Sep 18 23:48:00 2022 a hadoop 6 Sun Sep 18 23:40:00 2022 a hadoop 7 Sun Sep 18 23:48:00 2022 a hadoop 8 Sun Sep 18 23:45:00 2022 a hadoop 9 Sun Sep 18 23:50:00 2022 a hadoop 10 Sun Sep 18 23:55:00 2022 a hadoop

[hadoop@localhost w1]$ at -r 9#清除作业9 [hadoop@localhost w1]$ atrm 10#清除作业10

[hadoop@localhost w1]$ at -l 3 Sun Sep 18 23:40:00 2022 a hadoop 4 Sun Sep 18 23:45:00 2022 a hadoop 5 Sun Sep 18 23:48:00 2022 a hadoop 6 Sun Sep 18 23:40:00 2022 a hadoop 7 Sun Sep 18 23:48:00 2022 a hadoop 8 Sun Sep 18 23:45:00 2022 a hadoop [hadoop@localhost w1]$

shell怎么添加命令(shellat命令)(1)

2022-9-20

,