at: 安排一个任务在未来执行,需要一个atd的系统后台进程

检查atd进程是否启动

[root@centos61 桌面]# service atd status

atd (pid  2274) 正在运行...

[root@centos61 桌面]# chkconfig |grep atd

atd                    0:关闭      1:关闭      2:关闭      3:启用      4:启用      5:启用      6:关闭

如果未启动,可以使用如下命令:

[root@centos61 桌面]# service atd start

正在启动 atd:                                             [确定]

[root@centos61 桌面]# chkconfig atd on

常用指令:   at:安排延时任务

具体使用方法:

例1:

#at now+2 minutes  回车

>输入要执行的命令

>ctrl+d 结束输入

[root@test ~]# at now+2 minutes

at> wall Aixi

at> <EOT>

job 2 at 2010-06-18 16:36

<EOT>是ctrl+d中断输入,这个命令意思是发送一个广播内容是Hello Aixi.具体时间可以改,单位可以改,可以用hours,months,years,weeks等.

例2 我们还可以跟具体时间

[root@test ~]# at 16:39 dec 10

at> Hello Aixi

at> <EOT> ctrl+d结束输入

job 3 at 2010-12-10 16:39

意思是在今年的12月10日16:39运行这个命令.如果不加月和日,默认就是今天.

Atq:查询当前的等待任务

用atq来查询,已经运行的任务,就消失了。这就是at计划任务的重点,只运行一次

atrm:删除等待任务

启动计划任务后,如果不想启动设定好的计划任务可以使用atrm命令删除。

格式:atrm 任务号

命令后面跟计划任务编号,如果不跟,就会删除这个用户所有的计划任务。

例3

atrm 10 //删除计划任务10

atq //查看计划任务是否删除

at将要运行的命令以文本形式写入/var/spool/at/目录内,等待atd服务的取用和执行。

还可以进入到/var/spool/at目录里把计划任务删除,计划任务的文件都保存在该目录里,可以用rm -f 文件名来删除(以文件的形式删除计划任务,因为计划任务是以文件形式保存在该目录中)

例4:

#cd /var/spool/at //进入到/var/spool/at目录中

ls //显示目录中所有文件

rm -f a0000b0138b19c //删除计划任务

在通常情况下,超级用户都可以使用这个命令。对于其他用户来说,能否可以使用就取决于两个文件:/etc/at.allow和/etc/at.deny。

at 命令是可以基于用户来控制的,我们可以明确指定哪些用户可以使用at计划任务,哪些用户不可以使用at计划任务。

at的控制文件

/etc/at.allow

/etc/at.deny

系统默认是有at.deny文件,如果某个用户名在这个文件里,他就不能使用at计划任务。如果有at.allow文件,allow文件先行,检查了allow明确允许,就不会检查deny。

如果你要让哪个用户不能使用计划任务,就直接把他的用户名写进去就可以了,一排只能写一个。

猜你喜欢

转载自www.cnblogs.com/fanweisheng/p/11109420.html
今日推荐