linux中at命令的使用介绍

本文发布时间: 2019-Mar-22
cron被用来调度重复的任务,linux at命令被用来在指定时间内调度一次性的任务。要使用linux at命令,你必须安装了at RPM软件包,并且 atd服务必须在运行。可以使用service atd start启动atd服务。要判定该软件包是否被安装了,使用rpm -q at命令。要判定该服务是否在运行,使用 /sbin/service atd status 命令。[例1] 指定在今天下午5:30执行某命令。假设现在时间是中午12:30,1999年2月24日,其命令格式如下:at 5:30pmat 17:30at 17:30 todayat now + 5 hoursat now + 300 minutesat 17:30 24.2.99at 17:30 2/24/99at 17:30 Feb 24以上这些命令表达的意义是完全相同的,所以在安排时间的时候完万能够根据个人喜好和具体情况自由选择。一般采用绝对时间的24小时计时法能够避免由于用户自己的疏忽造成计时错误的情况发生,例如上例能够写成 :at 17:30 2/24/99 这样很清楚,而且别人也看得懂。[例2]$ at -f work 4pm + 3 days在三天后下午4点执行文档work中的作业。$ at -f work 10am Jul 31在7月31日上午10点执行文档work中的作业。atq: 查看系统没有执行工作任务。atrm: 启动计划任务后,如果不想启动设定好的计划任务可以使用atrm命令删除。格式:atrm+任务号同时,还可以进入到/var/spool/at目录里把计划任务删除,计划任务的文件都保存在该目录里,可以用rm -f[例3] 找出系统中任何以txt为后缀名的文档,并且进行打印。打印结束后给用户foxy发出邮件通知取件。指定时间为十二月二十五日凌晨两点。首先键入:$ at 2:00 12/25/99然后系统出现at>提示符,等待用户输入进一步的信息,也就是需要执行的命令序列:at> find / -name "*.txt"|lprat> echo "foxy:All texts have been printed.You can take them over.Good day!River" | mail -s "job done" foxy输入完每一行指令然后回车,任何指令序列输入完毕后,使用组合键结束linux at命令的输入。这时候屏幕将出现如下信息:warning:command will be executed using /bin/sh.job 1 at 1999-12-25 02:00提醒用户将使用哪个shell来执行该命令序列。实际上假如命令序列较长或经常被执行的时候,一般都采用将该序列写到一个文档中,然后将文档作为linux at命令的输入来处理。这样不容易出错。[例4] 上面的例子能够修改如下:将命令序列写入到文档/tmp/printjob,语句为:$ at -f /tmp/printjob 2:00 12/25/99这样一来,linux at命令将使用文档中的命令序列,屏幕显示如下:Warning:command will be executed using /bin/sh.job 2 at 1999-12-25 02:00/sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sbin/service crond reload //重新载入配置可以将这个服务在系统启动的时候也自动启动:在/etc/rc.d/rc.local这个脚本的末尾加上:/sbin/service crond start以上是linux at命令的使用案例。在任何情况下,终极用户都能够使用这个命令。对于其他用户来说,是否能够使用就取决于两个文档:/etc/at.allow和/etc/at.deny。假如/etc/at.allow文档存在的话,那么只有在其中列出的用户才能够使用linux at命令;假如该文档不存在,那么将检查/etc/at.deny文档是否存在,在这个文档中列出的用户均不能使用该命令。假如两个文档都不存在,那么只有终极用户能够使用该命令;空的/etc/at.deny文档意味着所有的用户都能够使用该命令,这也是默认状态。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:11pm
栏目列表