按下crtl+d取消定时任务

# at now+1hour
at> echo"a">a
at> <EOF>
at> <EOT>
job 4 at Thu Dec 31 15:52:00 2020
[root@localhost a]# atq
4 Thu Dec 31 15:52:00 2020 a root
[root@localhost a]# atr
atrm atrun
[root@localhost a]# atrm 4
[root@localhost a]# atq

at [-V] [-q queue] [-f file] [-mMlbv] TIME

at [-V] [-q queue] [-f file] [-mMlbv] –t time_arg

at –c job[ job…]

at [-rd] job[ job…]

atq [-V] [-q queue]

atrm [-V] job[ job…]

batch

(1).说明

  注意:at一般是临时任务,crontab一般是周期性任务,但都是计划任务的一种。

  at和batch读取标准输入或一个指定文件,它们将会在稍后被执行。

  at在指定的时间执行命令。

  atq列出用户待处理作业(jobs),如果是超级用户,所有用户的(待处理)作业都将被列出。输出格式:作业号、日期、小时、队列和用户名。

  atrm删除作业,由作业号标识。

  batch 当系统负载级别允许时执行命令;换句话说,当负载平均值降至0.8以下时,或者在atd中调用指定的值。

  at允许复杂的时间规范,扩展POSIX.2标准。它接受HH:MM形式的时间在一天的特定时间允许一项工作。如果时间已经过去,则假定是第二天。你也可以指定midnight午夜、noon中午或teatime下午茶时间(4PM),并且你可以使用AM、PM来表达允许时间的上午和下午。你还可以表明作业在哪一天运行,通过给出一个形式上有月份名称和任意的年份的日期,或给出形式为MMDDYY、MM/DD/YY、DD.MM.YY、YYYY-MM-DD的日期。日期规格必须遵循一天的时间规格。你也可以给出now + count time-units(时间单位)的时间,时间单位可以是minutes(分钟)、hours(小时)、days(天)或weeks(星期),并且你能通过添加today或tomorrow后缀来告诉at命令今天或明天运行作业。

  例如:从现在起三天后的下午四点运行作业at 4pm + 3 days;在July 31上午十点运行作业at 10am July 31;明天上午一点运行作业at 1am tomorrow。

  注意:at类命令的服务名叫atd

(2).选项

1
2
3
4
5
6
7
8
9
10
11
-V 打印版本信息
-q queue 使用指定的队列。队列名称由单个字母组成,有效队列名称范围从a到z和A到Z。at默认a队列,batch默认b队列。具有较高字母的队列运行良好。特殊队列“=”为正在运行的作业保留。如果作业提交给大写字母指定的队列,则该作业被视为在作业时提交给batch。一旦时间到达批处理规则将应用于负载平衡使用中。如果atq被赋予指定队列,它将只显示该队列的待处理作业。
-m 即使没有输出也会在作业完成后向用户发出邮件。
-M 不发送邮件给用户
-f file从文件读取而不是标准输出
-l atq的别名
-r atrm的别名
-d atrm的别名
-v 显示在读取作业前作业执行的时间。显示时间格式样例“The Feb 20 14:50:00 1997”
-c 将命令行中列出的作业标记为标准输出
-t time_arg 提交time_arg参数指定作业运行时间,格式[[CC]YY] MMDDhhmm

(3).实例

使用相对时间执行命令

1
2
3
4
5
6
7
8
[ root@CentOS6 桌面 ]# ls
按下ctrl+D 取消
[ root@CentOS6 桌面 ]# at now +1 minutes
at> echo "at now +1 minutes">1.txt   //不知道默认保存在哪里,只能自己设置一个
at> <EOT>                  //Ctrl+d会直接打出<EOT>
job 4 at 2018-07-21 11:22
[ root@CentOS6 桌面 ]# ls
1.txt
[ root@CentOS6 桌面 ]# vim 1.txt    //进入到1.txt里可以看到输出内容

使用绝对时间执行命令

1
2
3
4
[ root@CentOS6 桌面 ]# at 12:00
at> ls />2.txt
at> <EOT>
job 5 at 2018-07-21 12:00

查看待处理的作业,并删除无用的作业

1
2
3
4
5
[ root@CentOS6 桌面 ]# atq   //查看待处理的作业,也可以是at -l
5    2018-07-21 12:00 a root  //5任务编号,2018-07-21 12:00执行时间,a队列,root执行者
[ root@CentOS6 桌面 ]# atrm 5  //删除无用的作业
[ root@CentOS6 桌面 ]# atq
[ root@CentOS6 桌面 ]#

根据作业ID查看执行细节

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
[root@CentOS6 桌面]# at now +2 minutes
at> echo "at now +2 minutes">3.txt
at> job 6 at 2018-07-21 12:11
[root@CentOS6 桌面]# at -c 6
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask 22
ORBIT_SOCKETDIR=/tmp/orbit-root; export ORBIT_SOCKETDIR
HOSTNAME=CentOS6.8; export HOSTNAME
IMSETTINGS_INTEGRATE_DESKTOP=yes; export IMSETTINGS_INTEGRATE_DESKTOP
SHELL=/bin/bash; export SHELL
XDG_SESSION_COOKIE=f361f670c8f25b859941a16a00000017-1532137953.618455-100069161; export XDG_SESSION_COOKIE
HISTSIZE=1000; export HISTSIZE
GTK_RC_FILES=/etc/gtk/gtkrc:/root/.gtkrc-1.2-gnome2; export GTK_RC_FILES
WINDOWID=29360132; export WINDOWID
QTDIR=/usr/lib64/qt-3.3; export QTDIR
QTINC=/usr/lib64/qt-3.3/include; export QTINC
IMSETTINGS_MODULE=IBus; export IMSETTINGS_MODULE
USER=root; export USER LS_COLORS=rs=0:di=01\;34:ln=01\;36:mh=00:pi=40\;33:so=01\;35:do=01\;35:bd=40\;33\;01:cd=40\;33\;01:or=40\;31\;01:mi=01\;05\;37\;41:su=37\;41:sg=30\;43:ca=30\;41:tw=30\;42:ow=34\;42:st=37\;44:ex=01\;32:\*.tar=01\;31:\*.tgz=01\;31:\*.arj=01\;31:\*.taz=01\;31:\*.lzh=01\;31:\*.lzma=01\;31:\*.tlz=01\;31:\*.txz=01\;31:\*.zip=01\;31:\*.z=01\;31:\*.Z=01\;31:\*.dz=01\;31:\*.gz=01\;31:\*.lz=01\;31:\*.xz=01\;31:\*.bz2=01\;31:\*.tbz=01\;31:\*.tbz2=01\;31:\*.bz=01\;31:\*.tz=01\;31:\*.deb=01\;31:\*.rpm=01\;31:\*.jar=01\;31:\*.rar=01\;31:\*.ace=01\;31:\*.zoo=01\;31:\*.cpio=01\;31:\*.7z=01\;31:\*.rz=01\;31:\*.jpg=01\;35:\*.jpeg=01\;35:\*.gif=01\;35:\*.bmp=01\;35:\*.pbm=01\;35:\*.pgm=01\;35:\*.ppm=01\;35:\*.tga=01\;35:\*.xbm=01\;35:\*.xpm=01\;35:\*.tif=01\;35:\*.tiff=01\;35:\*.png=01\;35:\*.svg=01\;35:\*.svgz=01\;35:\*.mng=01\;35:\*.pcx=01\;35:\*.mov=01\;35:\*.mpg=01\;35:\*.mpeg=01\;35:\*.m2v=01\;35:\*.mkv=01\;35:\*.ogm=01\;35:\*.mp4=01\;35:\*.m4v=01\;35:\*.mp4v=01\;35:\*.vob=01\;35:\*.qt=01\;35:\*.nuv=01\;35:\*.wmv=01\;35:\*.asf=01\;35:\*.rm=01\;35:\*.rmvb=01\;35:\*.flc=01\;35:\*.avi=01\;35:\*.fli=01\;35:\*.flv=01\;35:\*.gl=01\;35:\*.dl=01\;35:\*.xcf=01\;35:\*.xwd=01\;35:\*.yuv=01\;35:\*.cgm=01\;35:\*.emf=01\;35:\*.axv=01\;35:\*.anx=01\;35:\*.ogv=01\;35:\*.ogx=01\;35:\*.aac=01\;36:\*.au=01\;36:\*.flac=01\;36:\*.mid=01\;36:\*.midi=01\;36:\*.mka=01\;36:\*.mp3=01\;36:\*.mpc=01\;36:\*.ogg=01\;36:\*.ra=01\;36:\*.wav=01\;36:\*.axa=01\;36:\*.oga=01\;36:\*.spx=01\;36:\*.xspf=01\;36:; export LS_COLORS
SSH_AUTH_SOCK=/tmp/keyring-EG2luA/socket.ssh; export SSH_AUTH_SOCK
GNOME_KEYRING_SOCKET=/tmp/keyring-EG2luA/socket; export GNOME_KEYRING_SOCKET
SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/2251,unix/unix:/tmp/.ICE-unix/2251; export SESSION_MANAGER
USERNAME=root; export USERNAME
DESKTOP_SESSION=gnome; export DESKTOP_SESSION
MAIL=/var/spool/mail/root; export MAIL
PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin; export PATH
QT_IM_MODULE=ibus; export QT_IM_MODULE
PWD=/root/\�\�\�\�\�\�; export PWD
XMODIFIERS=@im=ibus; export XMODIFIERS
GDM_KEYBOARD_LAYOUT=us; export GDM_KEYBOARD_LAYOUT
LANG=zh_CN.UTF-8; export LANG
GNOME_KEYRING_PID=2241; export GNOME_KEYRING_PID
GDM_LANG=zh_CN.UTF-8; export GDM_LANG
GDMSESSION=gnome; export GDMSESSION
HISTCONTROL=ignoredups; export HISTCONTROL
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass; export SSH_ASKPASS
SHLVL=2; export SHLVL
HOME=/root; export HOME
GNOME_DESKTOP_SESSION_ID=this-is-deprecated; export GNOME_DESKTOP_SESSION_ID
LOGNAME=root; export LOGNAME
CVS_RSH=ssh; export CVS_RSH
QTLIB=/usr/lib64/qt-3.3/lib; export QTLIB
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-0ZCxugK00Z,guid=ca2e032461b953e455fa17300000006c; export DBUS_SESSION_BUS_ADDRESS
LESSOPEN=\|\|/usr/bin/lesspipe.sh\ %s; export LESSOPEN
WINDOWPATH=1; export WINDOWPATH
G_BROKEN_FILENAMES=1; export G_BROKEN_FILENAMES
XAUTHORITY=/var/run/gdm/auth-for-root-mLJQsO/database; export XAUTHORITY
COLORTERM=gnome-terminal; export COLORTERM
cd /root/\�\�\�\�\�\� || {
    echo 'Execution directory inaccessible' >&2
    exit 1
}
${SHELL:-/bin/sh} << 'marcinDELIMITER09c0b95e'
echo "at now +2 minutes">3.txt
 
marcinDELIMITER09c0b95e

  说明:at命令尚未执行的任务都存在/var/spool/at/目录下,也可以直接查看该文件。

(4).at的特殊写法

at 20:00 2008-10-1  在具体时间执行

at now +10min  在十分钟后执行

at 17:00 tomorrow  明天下午五点执行

at 6:00 pm + 3 days  在3天后下午6点执行

at 23:00 < a.txt  将a.txt导入

at在指定的时间执行命令+atq列出用户待处理作业(jobs)的更多相关文章

  1. Linux 命令 - at: 在指定的时间执行任务

    在指定的时间执行任务. 命令格式 at [-V] [-q queue] [-f file] [-mldbv] TIMEat [-V] [-q queue] [-f file] [-mldbv] -t ...

  2. JS Window对象 计时器setInterval() 在执行时,从载入页面后每隔指定的时间执行代码。

    计时器setInterval() 在执行时,从载入页面后每隔指定的时间执行代码. 语法: setInterval(代码,交互时间); 参数说明: 1. 代码:要调用的函数或要执行的代码串. 2. 交互 ...

  3. XP_CMDSHELL 执行命令添加 windows 用户的方法

    1. 之前看过不少文档 可以使用 xp_SQLCMD的命令来进行渗透处理, 今天因为公司的服务器又中毒了 自己学习了下. 2. 修改SQLSERVER的设置 远程登录数据库 sqlcmd -S 10. ...

  4. cmd到指定目录并执行命令 mysql到bin目录并执行命令 cmd bat进入指定文件夹中并执行命令

    其实就一条命令:(保存为bat格式,注意:有两个and希腊字母 && )cmd /k "cd /d Your ProjectPath&&Your CMD co ...

  5. C#使用Timer.Interval指定时间间隔与指定时间执行事件

    C#中,Timer是一个定时器,它可以按照指定的时间间隔或者指定的时间执行一个事件. 指定时间间隔是指按特定的时间间隔,如每1分钟.每10分钟.每1个小时等执行指定事件: 指定时间是指每小时的第30分 ...

  6. php 执行计划任务方式之 linux crontab 执行命令

    一.crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动c ...

  7. Linux Shell编程(22)——时间/日期 命令

    date直接调用, date 就会打印日期和时间到 stdout 上. 这个命令有趣的地方在于它的格式化和分析选项上.time输出统计出来的命令执行的时间.touch这是一个用来更新文件被存取或修改的 ...

  8. [转]python3之paramiko模块(基于ssh连接进行远程登录服务器执行命令和上传下载文件的功能)

    转自:https://www.cnblogs.com/zhangxinqi/p/8372774.html 阅读目录 1.paramiko模块介绍 2.paramiko的使用方法 回到顶部 1.para ...

  9. [转]oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。

    oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 select * from dba_jobs; selec ...

随机推荐

  1. Async Cow Python 七牛异步SDK

    # Async Cow Python 七牛异步SDK > gitee链接 >github链接本SDK基于官方SDK改造而成,但又对其进行了进一步封装,简化了相关操作例如:- 1.不需要使用 ...

  2. PAT (Advanced Level) Practice 1002 A+B for Polynomials (25 分) 凌宸1642

    PAT (Advanced Level) Practice 1002 A+B for Polynomials (25 分) 凌宸1642 题目描述: This time, you are suppos ...

  3. 全网最详细的Linux命令系列-cp命令

    cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是 ...

  4. 显示目录下的内容--ls

    ls               显示当前目录下的所有文件或者文件夹,但不包括 . 和 .. ls -a                  显示当前目录下的所有文件或者文件夹 ls -l        ...

  5. 全面了解Vue3的 ref 和相关函数和计算属性

    基础类型的响应性 -- ref 在vue3里面,我们可以通过 reactive 来实现引用类型的响应性,那么基础类型的响应性如何来实现呢? 可能你会想到这样来实现: const count = rea ...

  6. 3步安装Python虚拟环境virtualenv

    1. pip安装必要库 pip install virtualenv -i https://pypi.douban.com/simple pip install virtualenvwrapper - ...

  7. Dynamics Crm Plugin插件注册的问题及解决方案(持续更新。。。。。。)

    1.注册插件的时候回遇到如下提示 Plug-in assembly does not contain the required types or assembly content cannot be ...

  8. SpringBoot(九篇)

    (一) SpringBootCLI安装 (二)SpringBoot开发第一个应用 (三)SpringBoot pom.xml配置文件详解 (四)SpringBoot起步依赖Starters详解 (五) ...

  9. 1086 Tree Traversals Again

    An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example ...

  10. php讲转义符号与json文件的趣事情

    php中屡试不爽的数组和json json_encode与json_decode urlencode与urldecode addslashes与stripslashes addcslashes与str ...