使用at只能执行一次性任务;使用at命令需要开启atd进程。
以下情况需要安装at命令:
情况1、查看是否开启atd进程:ps -ef | grep atd。[test@localhost init.d]$ ps -ef | grep atdtest 1599 1431 0 14:39 pts/0 00:00:00 grep --color=auto atd结果只有一行,没有显示atd命令的位置信息,需要安装at命令,
情况2、使用at命令时显示:bash: at: 未找到命令
安装at命令:yum -y install at。设置自动启动at命令:chkconfig --level 35 atd on。启动atd进程:service atd start。
如果在使用at命令后,报如下错误:Can't open /var/run/atd.pid to signal atd. No atd running?意思是atd进程没有运行,需要执行启动atd进程命令:service atd start。
再次查看atd进程的结果:ps -ef | grep atd。root 1652 1 0 14:59 ? 00:00:00 /usr/sbin/atd -ftest 1664 1431 0 14:59 pts/0 00:00:00 grep --color=auto atd
开启命令:/etc/init.d/atd start或者restart(也可以使用service命令)。查询任务:atq。命令参数:-m 当指定的任务被完成之后,将给用户发送邮件,即使没有标准输出-v 显示任务将被执行的时间-c 打印任务的内容到标准输出-V显示版本信息-q<> 使用指定的队列-t<> 以时间参数的形式提交要运行的任务
示例:指定时间来执行ls命令[test@localhost ~]$ at 14:55 2018-10-09at> date > 123.txt //这里是输入要执行的命令或文件, //使用ctrl+backspace键才能删除,at> <EOT> //使用ctrl+D输入结束。 job 5 at Tue Oct 9 14:55:00 2018
使用atq查询:[test@localhost /]$ atq2 Tue Oct 9 14:53:00 2018 a test5 Tue Oct 9 14:55:00 2018 a test
使用at -c 编号,查看内容:[test@localhost /]$ at -c 2
使用atrm删除:[test@localhost /]$ atrm 2
示例:三天后的下午5点执行/bin/lsat 5pm+3 daysat> /bin/ls
如果不希望某些账号使用at命令,可以在/etc/at.deny文件中写入禁止的用户名。
转载于:https://www.cnblogs.com/gyfluck/p/9760586.html
