1.at命令在指定时刻执行指定的命令序列

at [-V] [-q 队列] [-f 文档名] [-mldbv] 时间

下面对命令中的参数进行说明。
-V 将标准版本号打印到标准错误中。
-q queue 使用指定的队列。队列名称是由单个字母组成,合法的队列名能够由a-z或A-Z。a队列是at命令的默认队列。
-m 作业结束后发送邮件给执行at命令的用户。
-f file 使用该选项将使命令从指定的file读取,而不是从标准输入读取。
-l atq命令的一个别名。该命令用于查看安排的作业序列,他将列出用户排在队列中的作业,假如是终极用户,则列出队列中的任何工作。
-d atrm 命令的一个别名。该命令用于删除指定要执行的命令序列,语法格式如下:
-c 将命令行上所列的作业送到标准输出。

at允许使用一套相当复杂的指定时间的方法。他能够接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。当然也能够使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间。用户还能够采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。也能够指定命令执行的具体日期,指定格式为month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。指定的日期必须跟在指定时间的后面。
上面介绍的都是绝对计时法,其实还能够使用相对计时法,这对于安排不久就要执行的命令是很有好处的。指定格式为:now + count
time-units ,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,究竟是几天,还是几小时,等等。
更有一种计时方法就是直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。下面通过一些例子来说明具体用法。
[例2] 指定在今天下午5:30执行某命令。假设现在时间是中午12:30,1999年2月24日,其命令格式如下:
at 5:30pm
at 17:30
at 17:30 today
at now + 5 hours
at now + 300 minutes
at 17:30 24.2.99
at 17:30 2/24/99
at 17:30 Feb 24
 
以上这些命令表达的意义是完全相同的,所以在安排时间的时候完万能够根据个人喜好和具体情况自由选择。一般采用绝对时间的24小时计时法能够避免由于用户自己的疏忽造成计时错误的情况发生,例如上例能够写成:
at 17:30 2/24/99
这样很清楚,而且别人也看得懂。
对于at命令来说,需要定时执行的命令是从标准输入或使用-f选项指定的文档中读取并执行的。假如at命令是从一个使用su命令转换到用户shell中
执行的,那么当前用户被认为是执行用户,任何的错误和输出结果都会送给这个用户。但是假如有邮件送出的话,收到邮件的将是原来的用户,也就是登录时
shell的任何者。
[例3]
$ at -f work 4pm + 3 days
在三天后下午4点执行文档work中的作业。
$ at -f work 10am Jul 31
在7月31日上午10点执行文档work中的作业。
在任何情况下,终极用户都能够使用这个命令。对于其他用户来说,是否能够使用就取决于两个文档:/etc/at.allow和/etc/at.deny。
假如/etc/at.allow文档存在的话,那么只有在其中列出的用户才能够使用at命令;假如该文档不存在,那么将检查/etc/at.deny文档
是否存在,在这个文档中列出的用户均不能使用该命令。假如两个文档都不存在,那么只有终极用户能够使用该命令;空的/etc/at.deny文档意味着所
有的用户都能够使用该命令,这也是默认状态。

[例4] 找出系统中任何以txt为后缀名的文档,并且进行打印。打印结束后给用户foxy发出邮件通知取件。指定时间为十二月二十五日凌晨两点。
首先键入:
$ at 2:00 12/25/99
然后系统出现at>提示符,等待用户输入进一步的信息,也就是需要执行的命令序列:
at> find / -name "*.txt"|lpr
at> echo "foxy:All texts have been printed.You can take them over.Good day!River" |mail -s "job done" foxy
输入完每一行指令然后回车,任何指令序列输入完毕后,使用组合键结束at命令的输入。这时候屏幕将出现如下信息:
warning:command will be executed using /bin/sh.
job 1 at 1999-12-25 02:00
提醒用户将使用哪个shell来执行该命令序列。
实际上假如命令序列较长或经常被执行的时候,一般都采用将该序列写到一个文档中,然后将文档作为at命令的输入来处理。这样不容易出错。
 
[例5] 上面的例子能够修改如下:
将命令序列写入到文档/tmp/printjob,语句为:
$ at -f /tmp/printjob 2:00 12/25/99
这样一来,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 //重新载入配置

2.atq 列出用户排在队列中的作业
atq [-V] [-q 队列] [-v]
-d atrm 命令的一个别名。该命令用于删除指定要执行的命令序列

3.atrm 删除队列中的作业
atrm [-V] 作业 [作业...]

linux 定时执行任务 at atq atrm命令的使用的更多相关文章

  1. linux定时执行任务 转

    转自:http://www.cnblogs.com/thinksasa/archive/2013/06/06/3121030.html linux定时执行任务   (1)Linux下如何定时执行php ...

  2. linux 定时执行shell

    第一步:安装 crontab ,命令 yum -y install vixie-cron                扩展:service crond start //启动服务            ...

  3. Linux定时执行任务命令概述:at和crontab

    本文介绍在Linux下的两种定时执行任务的方法:at命令,以及crontab服务. (1)at命令 假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了. 设置at命令很简单,指示定 ...

  4. 转 Linux定时执行任务命令at和crontab

    本文介绍在Linux下的两种定时执行任务的方法:at命令,以及crontab服务. (1)at命令 假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了. 设置at命令很简单,指示定 ...

  5. linux定时执行任务crontab命令用法

    linux系统的定时任务是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另外, 由于使用者自己也可以设置计划任务,所 ...

  6. 【转】linux 定时执行shell脚本

    在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle ...

  7. linux定时执行任务

    (1)Linux下如何定时执行php脚本?(2)Linux下如何设置定时任务?(3)Crontab定时执行程序 核心提示:键入 crontab -e 编辑crontab服务文件 分为两种情况:(还有一 ...

  8. linux 定时执行 cron指令

    linux 中的 cron 定时执行命令,先上例子:每间隙两分钟把 "Hello world"写到 /tmp/hello.txt crontab -e */2 * * * * ec ...

  9. linux 定时执行shell脚本

    转自:http://blog.csdn.net/jingxiangren/article/details/4745631 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程, ...

随机推荐

  1. CAS单点登录详细流程

    一.CAS简介和整体流程 CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目.CAS ...

  2. [ACM][2018南京预赛]Magical Girl Haze

    一.题面 样例输入: 15 6 11 2 21 3 42 4 33 4 13 5 64 5 2 样例输出: 3 二.思路 关键词:分层BFS 考试时觉得题干意思很清晰——求可将k条边赋值为0的最短路. ...

  3. Stanford机器学习---第十四讲.机器学习应用举例之Photo OCR

    http://blog.csdn.net/l281865263/article/details/50278745 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Oc ...

  4. ctsc2009 移民站选址

    分析:非常非常好的一道题! 首先需要对问题进行转化: 行列无关,对于行单独处理,对于列单独处理 必然存在一个最优方案使得每一个新站与旧站重合. 转化1很显然,对于转化2,是一类非常经典的“中位数问题” ...

  5. 洛谷P2563 [AHOI2001]质数和分解

    题目描述 任何大于 1 的自然数 n 都可以写成若干个大于等于 2 且小于等于 n 的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式.例如,9 的质数和表达式就有 ...

  6. windows下安装pthreads扩展注意问题

    1.php版本必须是ts版本 2.pthreads扩展下载地址 http://windows.php.net/downloads/pecl/releases/pthreads/ 3.把下载的扩展php ...

  7. C++并发编程 thread

    std::thread C++11在标准库中为多线程提供组件, 使用线程需要包含头文件 thread, 其命名空间为 std. 启动新线程 每个进程至少有一个线程: 执行main()函数的线程, 其余 ...

  8. oracle实用的sqlplus命令

    有时候难免没有工具,得自己手动输入sqlplus命令 执行SQL文件:@sql文件,例如:@/home/myuser/sql/test.sql查看数据库存在的存储过程:Select object_na ...

  9. CCD与CMOS的区别

    我们在购买相机或是摄像机时,都会看到使用CMOS镜头或是CCD镜头,那么CCD与CMOS是什么意思呢,CCD与CMOS的区别是什么?首先,让我们了解CCD与CMOS的意思. CCDCCD使用一种高感光 ...

  10. ④ 设计模式的艺术-10.装饰(Decorator)模式

    职责 装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. 装饰模式是一种用于代替继承的技术,无需通过继承增加子类就能扩展对 ...