第一部分:at命令
1. at命令:在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程(ps -ef | grep atd查看,
开启用/etc/init.d/atd start or restart; 开机即启动则需要运行chkconfig --level 2345
atd on)。
[root @ localhost test]at now +1 min
at> echo "hello" > /dev/tty2后回车 # 一分钟后发送“hello”给tty2终端
--注意: 使用ctrl+d来终结字符输入(即<EOT>)
at 00:55 2009-12-13
at> echo "test at command" > /home/test.txt
at 1:00 2009-12-13
at>/sbin/shutdown -h now #此处使用绝对路径
at 命令创建的任务会放在/var/spool/at下面, 是一个脚本文件,可以用vi进行编辑。
at now +1 min
at> echo "hello" <EOF>#此时会以发送邮件的方式给当前执行的人, 用mail命令可以查看, 即先使用mail命令,出现&后输入'1'则可查看。
atq指令:查询当前机器上有哪些等待执行的任务, 其第一列为工作号。
atrm指令:取消任务, eg: atrm 10 #其中10为工作号。
batch指令:以一个较低优先级延时执行任务。
batch
at> echo "hello" > /home/abc.txt <EOF>
2.at命令的安全控制
/etc/at.allow #列出可以使用at命令的用户, 先找at.allow文件,再找at.deny文件
/etc/at.deny #列出不可以使用at命令的用户, 一行一个用户。
若既无at.allow文件,也无at.deny文件,则只有root用户才能执行at命令