linux的at定时任务的使用

mac2022-06-30  20

linux的at定时任务的使用


使用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

最新回复(0)