在Linux下,有两个命令可以用来作为计划任务而执行,
at:一次性定时任务计划执行
crontab :每天定时任务计划执行

以下仅说一下一次性任务计划执行(at)
要使用一次性任务计划,linux必须要有负责这个计划任务的五福,那就是atd服务
但是并非所有的linux distribution都默认会打开,我们需要手动激活爱听的任务
#:/etc/init.d/atd start
#:/etc/init.d/atd stop

一、at服务

  cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
  service atd start    //启动服务
  service atd  stop     //关闭服务
  service atd restart  //重启服务
  service atd reload   //重新载入配置
  service atd status   //查看服务状态

二、at在配置文件:

at类似打印进程,会把任务放到/var/spool/at目录中,到指定时间运行它 。at命令相当于另一个shell,运行at time命令时,它发送一个个命令,可以输入任意命令或者程序。

atd服务启动支持用法:/etc/init.d/atd {start|stop|restart|crondrestart|status}

出现如下服务,证明系统未安装爱听的服务,如图:

我们需要手动安装
#:yum install - y at
#:apt-get install at


启动服务:

#:/etc/init.d/atd start

如果担心启动是否执行OK的话,可使用命令查看:
#;ps aux |grep atd

at 命令参数
at [参数] [时间]
-m:当指定的任务被完成之后,将给用户发送邮件,即使没有标准输出
-I:atq的别名
-d:atrm的别名
-v:显示任务将被执行的时间
-c:打印任务的内容到标准输出
-V:显示版本信息
-q:使用指定队列
-f:从指定文件读入任务,而不是从标准输入读入
-t:一时间参数的形式提交要运行的任务

at时间格式:
HH:AM
ex>04:00   #在今日的HH:MM是可执行,弱势该是可以超过,在在明天的此时可执行
HH:MM YYYY-MM-DD
ex>04:00 2016-03-17
强制规定在某年某月的某一天的特殊时刻进行该任务
HH:MM[am|pm] [Month] [date]
ex>04pm March 17
强制在某年某月的的某时刻进行该任务
HH:MM[am|pm] + number [minutes|hours|days|weeks]
ex>now + 5 minutes
ex<04pm + 3days
某个时间点再加几个事件后才执行该任务

使用实例:
1.三天后的下午5点执行/bin/ls
#:at 5pm+3 days
at>/bin/ls
at>按ctrl+D

2.明天17点钟,输出时间到指定文件内
#:at 17:00 tomorrow
at>date>/tmp/2016.log
at>按ctrl+D

3.使用atq查看系统没有执行的工作任务
#:atq

4.删除已经设定的任务
#:atq
#atrm 任务号
#atq

5.显示已经设定的任务内容
#:at -c  任务号

中间省略N多

atd设置开机启动:
#:chkconfig atd on  #当前用户
#chkconfig --level 2345 atd on  #修改服务器的默认启动等级

at命令的安全问题:
如何达到at命令的使用可控,这是一个问题,不过我哦们可以使用
/etc/at.allow 与 /etc/at.deny
来对at的使用进行限制,其工作原理如下:
先寻找/etc/at.allow,写入这个文件的使用者能用,没有在此文件中的则不能使用(即使没有写在/etc/at.deny中)
如果没有/etc/at.allow不存在,寻找/etc/at.deny文件,写在此文件中的使用者不能使用,而没有在此文件中的使用者,就可以使用
如果两个文件读不存在,那么只有root可以使用at命令。
一般情况下。allow的管理较为严格,deny则较为松散
一般情况下,按章完成后系统通常会保留一个空的/etc/at/deny文件,仪式是允许所有人使用,如果不希望某人使用的话,直接把使用者的账户跳入/etc/at.deny里面即可。注意:一个账号一行

相关命令:

● at:在特定的时间执行一次性的任务
● atq:列出用户的计划任务,如果是超级用户将列出所有用户的任务,结果的输出格式为:作业号、日期、小时、队列和用户名
● atrm:根据Job number删除at任务
● batch:在系统负荷允许的情况下执行at任务,换言之,就是在系统空闲的情况下才执行at任务

相关配置文件:

● 时间规范的确切定义可以在/usr/share/doc/at-3.1.10/timespec中查看
● 默认情况下计划任务都是放在/var/spool/at/这个文件
● root用户可以在任何情况下使用at命令,而其他用户使用at命令的权限定义在/etc/at.allow(被允许使用计划任务的用户)和/etc/at.deny(被拒绝使用计划任务的用户)文件中
● 如果/etc/at.allow文件存在,只有在该文件中的用户名对应的用户才能使用at
● 如果/etc/at.allow文件不存在,/etc/at.deny存在,所有不在/etc/at.deny文件中的用户可以使用at
● at.allow比at.deny优先级高,执行用户是否可以执行at命令,先看at.allow文件没有才看at.deny文件
● 如果/etc/at.allow和/etc/at.deny文件都不存在,只有root用户能使用at
● 一个空内容的/etc/at.deny表示任何用户都能使用at命令,这是默认的配置
● 一般情况下这两个文件存在一个即可。如果只有少数几个用户需要使用计划任务,那么就保留at.allow文件,如果大部分用户都要使用计划任务,那么保留at.deny即可

八:创建at任务:

创建at任务方式有两种,从文件输入和从控制台输入。以下分别用两种方式创建1分钟后将当前时间写入 /root/learngit 文件的命令

1. 文件输入:

2. 控制台输入:

九:实例:



linux命令详解之(at)--6/24的更多相关文章

  1. Linux命令详解之–ls命令

    今天开始为大家介绍下Linux中常用的命令,首先给大家介绍下Linux中使用频率最高的命令--ls命令. 更多Linux命令详情请看:Linux命令速查手册 linux ls命令用于显示指定工作目录下 ...

  2. (转) Linux命令详解-date

    Linux命令详解-date 原文:https://www.cnblogs.com/Dodge/p/4278292.html 在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到 ...

  3. Linux命令详解之—tail命令

    tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文 ...

  4. Linux命令详解之—less命令

    Linux下还有一个与more命令非常类似的命令--less命令,相比于more命令,less命令更加灵活强大一些,今天就给大家介绍下Linux下的less命令. 更多Linux命令详情请看:Linu ...

  5. Linux命令详解之—more命令

    Linux more命令同cat命令一样,多用来查看文件内容,本文就为大家介绍下Linux more命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux的more命令类似 ca ...

  6. 【转】linux命令详解:md5sum命令

    [转]linux命令详解:md5sum命令 转自:http://blog.itpub.net/29320885/viewspace-1710218/ 前言 在网络传输.设备之间转存.复制大文件等时,可 ...

  7. Linux命令详解之—cat命令

    cat命令的功能是连接文件或标准输入并打印,今天就为大家介绍下Linux中的cat命令. 更多Linux命令详情请看:Linux命令速查手册 Linux 的cat命令通常用来显示文件内容,也可以用来将 ...

  8. Linux命令详解之—pwd命令

    Linux的pwd命令也是一个非常常用的命令,本文为大家介绍下Linux中pwd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux pwd命令用于显示工作目录. 执行pwd指 ...

  9. Linux命令详解之–cd命令

    cd命令是linux实际使用当中另一个非常重要的命令,本文就为大家介绍下Linux中cd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux cd命令用于切换当前工作目录至 d ...

  10. (转)linux命令详解之useradd命令使用方法

    linux命令详解之useradd命令使用方法 原文:http://blog.csdn.net/u011537073/article/details/51987121 Linux 系统是一个多用户多任 ...

随机推荐

  1. Oracle安装完成后,如何用命令行启动和关闭数据库?

    Oracle安装完成后,如何用命令行启动和关闭数据库? 解答: 打开:STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ dat ...

  2. js事件循环机制(Event Loop)

    javascript从诞生之日起就是一门  单线程的  非阻塞的  脚本语言,单线程意味着,javascript代码在执行的任何时候,都只有一个主线程来处理所有的任务,非阻塞靠的就是 event lo ...

  3. 安装ChemOffice 15.1就是这么简单

    化学绘图软件ChemDraw出了最新版ChemOffice 15.1了,其下有三个不同组件,其中ChemDraw15.1 Pro使用范围最广.当我们下载完软件后就需要对其进行安装,一般按照流程来就没有 ...

  4. 【译】.Net 垃圾回收机制原理(转)

    上一篇文章介绍了.Net 垃圾回收的基本原理和垃圾回收执行Finalize方法的内部机制:这一篇我们看下弱引用对象,代,多线程垃圾回收,大对象处理以及和垃圾回收相关的性能计数器. 让我们从弱引用对象说 ...

  5. Java 面试题 自己写的答案

    基本概念 操作系统中 heap 和 stack 的区别 栈(stack)与堆(heap)都是Java用来在内存中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. 在函 ...

  6. IIS部署ASP.NET MVC (4.0)网站出现的错误

    (1)无法读取配置节“system.web.extensions”,因为它缺少节声明 在IIS中,在基本设置中,将程序池选择为ASP.NET 4.0即OK! (2)由于 Web 服务器上的“ISAPI ...

  7. 【BZOJ3522】[Poi2014]Hotel 树形DP

    [BZOJ3522][Poi2014]Hotel Description 有一个树形结构的宾馆,n个房间,n-1条无向边,每条边的长度相同,任意两个房间可以相互到达.吉丽要给他的三个妹子各开(一个)房 ...

  8. PIP源使用国内镜像

    对于Python开发用户来讲,PIP安装软件包是家常便饭.但国外的源下载速度实在太慢,浪费时间.而且经常出现下载后安装出错问题.所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成 ...

  9. Decorate设计模式

    定义:装饰器设计模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案.不改变对象的情况下,动态增加其功能. • 需要扩展一个类的功能,或给一个类添加附加的成员. • 需要动态地给一个对象增 ...

  10. sql---如何把sql查询出来的结果当做另一个sql的条件查询,1、语句2、with as

    '; -- table2 的 name 作为 table1的条件 select * from table1 where name in (select name from table2) --如果有多 ...