shell——at命令

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——at命令

2022-9-20

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
红玫瑰洪的头像 - 宋马
评论 共1条

请登录后发表评论