安装at
#查找at的安装包
[root@client ~]# yum provides at
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
at-3.1.13-24.el7.x86_64 : Job spooling tools
Repo : base
at-3.1.13-25.el7_9.x86_64 : Job spooling tools
Repo : updates
#安装at
[root@client ~]# yum -y install at-3.1.13-25.el7_9.x86_64
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base | 2.2 kB 00:00:00
extras | 1.5 kB 00:00:00
updates | 1.5 kB 00:00:00
updates/7/x86_64/primary | 10 MB 00:00:00
updates 4346/4346
Resolving Dependencies
--> Running transaction check
---> Package at.x86_64 0:3.1.13-25.el7_9 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================================================================================================================================
Package Arch Version Repository Size
=======================================================================================================================================================================================
Installing:
at x86_64 3.1.13-25.el7_9 updates 51 k
Transaction Summary
=======================================================================================================================================================================================
Install 1 Package
Total download size: 51 k
Installed size: 95 k
Downloading packages:
at-3.1.13-25.el7_9.x86_64.rpm | 51 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : at-3.1.13-25.el7_9.x86_64 1/1
Verifying : at-3.1.13-25.el7_9.x86_64 1/1
Installed:
at.x86_64 0:3.1.13-25.el7_9
Complete!
启动at服务
[root@client ~]# systemctl enable atd --now
[root@client ~]# systemctl status atd.service
● atd.service - Job spooling tools
Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-10-28 16:57:51 CST; 13s ago
Main PID: 1203 (atd)
CGroup: /system.slice/atd.service
└─1203 /usr/sbin/atd -f
Oct 28 16:57:51 client systemd[1]: Started Job spooling tools.
at命令格式
at(选项)(参数)
选项
-f:指定包含具体指令的任务文件;
-q:指定新任务的队列名称;
-l:显示待执行任务的列表或atq;
-d:删除指定的待执行任务或atrm;
-m:任务执行完成后向用户发送E-mail。
参数
日期时间:指定任务执行的日期时间。
时间格式
接受当天的hh:mm(小时:分钟)式的时间指定,例如改时间已过去,就放在第二天执行
使用midnight(深夜) noon(中午) teatime(饮茶时间,下午4点)等比较模糊的词语指定时间
采用12小时计时制,在时间后面加AM PM 。例12pm
执行的具体日期,指定格式month day 或mm/dd/yy 或dd.mm.yy。日期必须跟在时间后边。例04:00 2022-10-1
相对计时法 ,格式now+count time-units ,now是当前时间,time-units时间单位,count时间数量。例now + 5 days
直接使用today tomorrow 来执行完成命令的时间。
创建任务
##交互式,交互式输入完成后,两次ctrl d退出
#创建任务,不指定日期为当天
[root@client ~]# at 17:12
at> touch abc.txt<EOT>
job 2 at Fri Oct 28 17:12:00 2022
#查看任务,任务号码为2,删除时可指定任务号码删除
[root@client ~]# at -l
2 Fri Oct 28 17:12:00 2022 a root
#任务已执行
[root@client ~]# ls
abc.txt
#任务执行后,已查看不到
[root@client ~]# at -l
删除任务
#删除任务
[root@client ~]# at 17:20
at> touch bbc.txt<EOT>
job 3 at Fri Oct 28 17:20:00 2022
[root@client ~]# at -l
3 Fri Oct 28 17:20:00 2022 a root
[root@client ~]#
[root@client ~]# at -d 3
#任务已被删除
[root@client ~]# at -l
指定具体日期时间创建任务
#指定具体日期时间
[root@client ~]# at 17:21 2022-10-28
at> touch ccc.txt<EOT>
job 4 at Fri Oct 28 17:21:00 2022
显示创建的任务
任务信息在最后
[root@client ~]# at 17:35 2022-10-28
at> touch qqq.txt<EOT>
job 7 at Fri Oct 28 17:35:00 2022
# 显示创建的任务
[root@client ~]# at -c 7
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask 22
XDG_SESSION_ID=1; export XDG_SESSION_ID
HOSTNAME=client; export HOSTNAME
SHELL=/bin/bash; export SHELL
HISTSIZE=10000; export HISTSIZE
SSH_CLIENT=192.168.0.10\ 39480\ 22; export SSH_CLIENT
SSH_TTY=/dev/pts/0; export SSH_TTY
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:\*.arc=01\;31:\*.arj=01\;31:\*.taz=01\;31:\*.lha=01\;31:\*.lz4=01\;31:\*.lzh=01\;31:\*.lzma=01\;31:\*.tlz=01\;31:\*.txz=01\;31:\*.tzo=01\;31:\*.t7z=01\;31:\*.zip=01\;31:\*.z=01\;31:\*.Z=01\;31:\*.dz=01\;31:\*.gz=01\;31:\*.lrz=01\;31:\*.lz=01\;31:\*.lzo=01\;31:\*.xz=01\;31:\*.bz2=01\;31:\*.bz=01\;31:\*.tbz=01\;31:\*.tbz2=01\;31:\*.tz=01\;31:\*.deb=01\;31:\*.rpm=01\;31:\*.jar=01\;31:\*.war=01\;31:\*.ear=01\;31:\*.sar=01\;31:\*.rar=01\;31:\*.alz=01\;31:\*.ace=01\;31:\*.zoo=01\;31:\*.cpio=01\;31:\*.7z=01\;31:\*.rz=01\;31:\*.cab=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:\*.webm=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
MAIL=/var/spool/mail/root; export MAIL
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin; export PATH
PWD=/root; export PWD
LANG=en_US.UTF-8; export LANG
HISTCONTROL=ignoredups; export HISTCONTROL
SHLVL=1; export SHLVL
HOME=/root; export HOME
LOGNAME=root; export LOGNAME
SSH_CONNECTION=192.168.0.10\ 39480\ 192.168.1.10\ 22; export SSH_CONNECTION
LESSOPEN=\|\|/usr/bin/lesspipe.sh\ %s; export LESSOPEN
XDG_RUNTIME_DIR=/run/user/0; export XDG_RUNTIME_DIR
HISTTIMEFORMAT=%F\ %T\ root\ ; export HISTTIMEFORMAT
cd /root || {
echo 'Execution directory inaccessible' >&2
exit 1
}
${SHELL:-/bin/sh} << 'marcinDELIMITER2ceb1e77'
touch qqq.txt
marcinDELIMITER2ceb1e77
查看帮助信息
#查看帮助
[root@client ~]# at --help
at: invalid option -- '-'
Usage: at [-V] [-q x] [-f file] [-mMlbv] timespec ...
at [-V] [-q x] [-f file] [-mMlbv] -t time
at -c job ...
atq [-V] [-q x]
at [ -rd ] job ...
atrm [-V] job ...
batch
[root@client ~]# man at