linux at命令实例应用详解

运维 系统运维
linux at命令和 batch 从标准输入或一个指定的文件读取命令,这些命令在以后某个时间用 /bin/sh 执行。 linux at命令允许相当复杂的时间指定,他扩展了 POSIX.2 标准。

Linux at命令和 batch 从标准输入或一个指定的文件读取命令,这些命令在以后某个时间用 /bin/sh 执行。 Linux at命令允许相当复杂的时间指定,他扩展了 POSIX.2 标准。他接受 HH:MM 的时间式样,用来指定在一天的某个时间运行一个作业。 (如果时间已过了则假定为第二天。)

你能指定 midnight (午夜)、 noon (中午) 或 teatime (下午4点),你能用 AM 或 PM 后缀指定一天的上午或下午。你能给出 month-name day 加上可选的年份的式样用来指定运行Linux at命令的日期,或给出 MMDDYY 、 MM/DD/YY 或 DD.MM.YY 式样用来指定运行Linux at命令的日期。日期的指定必须跟在时间指定的后面。你也能给出象 now + 计数 时间单位 的式样,这里的时间单位能是 minutes 、 hours 、 days 或 weeks, 你能给时间加一个 today 后缀来指定Linux at命令今天运行作业,能给时间加一个 tomorrow 后缀来指定Linux at命令 明天运行作业。

例如,
要在三天以后的下午 4 点运行一个作业,Linux at命令时间参数能指定为 4pm + 3 days。
要在7月31日上午10:00运行一个作业, Linux at命令时间参数能指定为 10am Jul 31,
要在明天上午1点运行一个作业,Linux at命令时间参数能指定为 1am tomorrow。
使用Linux at命令定期运行程式 , 2005-12-28 18:16:50 by Johnny
使用Linux at命令定期运行程式

1. 使用cron运行任务
cron任务的缺点是计划要经常运行,如果我们只是想要让特定任务运行一次呢?
那么,这时候就要用到at监视程式了。
设置Linux at命令非常简单,指示定运行的时间,那么就会在哪个时候运行。Linux at命令类似打印进程,会把任务放到/var/spool/at目录中,到指定时间运行他。
Linux at命令相当于另一个shell,运行at time命令时,他发送一个个命令,能输入任意命令或程式。
at now + time命令能在指示任务。

假设处理一个大型数据库,要在别人不用系统时去处理数据,比如凌晨2点5分。那么我们就应该先建立/home/mj/airplane脚本管理数据库,计划处理/home/mj/air-safe文件中的结果。正常方式是这样启动下列命令:
# at 2:05 tomorrow
at> /home/mj/airplane > /home/mj/air-safe
at> Ctrl+D
AT Time中的时间表示方法
时间 例子 说明
Minute at now + 5 minutes 任务在5分钟后运行
Hour at now + 1 hour 任务在1小时后运行
Days at now + 3 days 任务在3天后运行
Weeks at now + 2 weeks 任务在两周后运行
Fixed at midnight 任务在午夜运行
Fixed at 10:30pm 任务在晚上10点30分开始
Fixed at 1:00 12/20/04 任务在2004年12月20日凌晨1点开始

2. 查看目前在等待执行的任务
输入任务后,能使用atq命令能看到目前等待执行的任务,输出提供了任务号、用户和任务执行时间等信息。
# atq8 2004-12-15 02:05 a mj
里面的a表示是at任务还是batch命令生成的任务。

3. 删除Linux at命令任务
删除一个Linux at命令任务比较简单,使用atrm命令就能轻松解决。

比如我知道了任务的队列号,那么就能删除他:
# atrm 8
就删除了队列号为8的at任务了。
at -l 列表
at -r 移除


【编辑推荐】

  1. 戴尔:Linux ATI驱动程序很不理想 必须改进
  2. Linux ATI 7-11(8.43.2)显卡驱动的安装
  3. linux at命令详解及使用方式案例
  4. Linux操作系统中用Linux at命令定时发送邮件
  5. linux中的cron和linux at命令用法详解
     
责任编辑:chenqingxiang 来源: ChinaUnix博客
相关推荐

2010-06-24 16:55:47

Linux chgrp

2018-02-07 09:25:50

Linux命令touch

2010-06-18 10:33:03

Linux Acces

2010-06-22 13:23:18

Linux at命令详

2019-09-12 08:32:40

Linuxsed命令语法

2010-06-30 11:09:16

Linux SNMP

2009-12-24 14:28:29

Linux备份

2010-06-24 14:08:25

Linux Cat命令

2009-06-10 14:53:25

netbeans st实例

2010-06-24 10:21:46

Linux Bzip2

2013-12-17 10:39:24

命令top

2021-04-09 11:42:16

Linux 系统硬件操作系统

2009-07-06 17:07:11

JSP实例

2012-02-14 15:51:13

JavaHibernate

2009-09-11 12:31:52

C#实例详解TypeConvert

2011-09-08 13:11:07

Android Wid实例

2017-03-10 15:25:35

Linuxnetstat命令

2020-07-20 07:45:00

Linux

2021-04-14 16:06:42

Linuxchattr命令

2020-08-13 07:38:41

Linux screen命令
点赞
收藏

51CTO技术栈公众号