每天一个linux命令(49):at命令 atrm删除作业,由作业号标识。
atq命令
例如:从现在起三天后的下午四点运行作业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 [ 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导入
每天一个linux命令(49):at命令
在windows系统中,windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务。 通过'添加任务计划'的一步步引导,则可建立一个定时执行的任务。
在linux系统中你可能已经发现了为什么系统常常会自动的进行一些任务?这些任务到底是谁在支配他们工作的?在linux系统如果你想要让自己设计的备份程序可以自动在某个时间点开始在系统底下运行,而不需要手动来启动它,又该如何处置呢? 这些例行的工作可能又分为一次性定时工作与循环定时工作,在系统内又是哪些服务在负责? 还有,如果你想要每年在老婆的生日前一天就发出一封信件提醒自己不要忘记,linux系统下该怎么做呢?
今天我们主要学习一下一次性定时计划任务的at命令的用法!
1.命令格式:
at[参数][时间]
2.命令功能:
在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程(
ps -ef | grep atd查看, 开启用/etc/init.d/atd start or restart; 开机即启动则需要运行 chkconfig --level 2345 atd on)。
3.命令参数:
-m 当指定的任务被完成之后,将给用户发送邮件,即使没有标准输出
-I atq的别名
-d atrm的别名
-v 显示任务将被执行的时间
-c 打印任务的内容到标准输出
-V 显示版本信息
-q<列队> 使用指定的列队
-f<文件> 从指定文件读入任务而不是从标准输入读入
-t<时间参数> 以时间参数的形式提交要运行的任务
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(明天)来指定完成命令的时间。
TIME:时间格式,这里可以定义出什么时候要进行 at 这项任务的时间,格式有:
HH:MM
ex> 04:00
在今日的 HH:MM 时刻进行,若该时刻已超过,则明天的 HH:MM 进行此任务。
HH:MM YYYY-MM-DD
ex> 04:00 2009-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 + 3 days
就是说,在某个时间点再加几个时间后才进行该项任务。
4.使用实例:
实例1:三天后的下午 5 点锺执行 /bin/ls
命令:
at 5pm+3 days
输出:
[root@localhost ~]# at 5pm+3 days
at> /bin/ls
at> <EOT>
job 7 at 2013-01-08 17:00
[root@localhost ~]#
说明:
实例2:明天17点钟,输出时间到指定文件内
命令:
at 17:20 tomorrow
输出:
[root@localhost ~]# at 17:20 tomorrow
at> date >/root/2013.log
at> <EOT>
job 8 at 2013-01-06 17:20
[root@localhost ~]#
说明:
实例3:计划任务设定后,在没有执行之前我们可以用atq命令来查看系统没有执行工作任务
命令:
atq
输出:
[root@localhost ~]# atq
8 2013-01-06 17:20 a root
7 2013-01-08 17:00 a root
[root@localhost ~]#
说明:
实例4:删除已经设置的任务
命令:
atrm 7
输出:
[root@localhost ~]# atq
8 2013-01-06 17:20 a root
7 2013-01-08 17:00 a root
[root@localhost ~]# atrm 7
[root@localhost ~]# atq
8 2013-01-06 17:20 a root
[root@localhost ~]#
说明:
实例5:显示已经设置的任务内容
命令:
at -c 8
输出:
[root@localhost ~]# at -c 8
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask 22此处省略n个字符
date >/root/2013.log
[root@localhost ~]#
说明:
实例6:
命令:
输出:
说明:
5.atd 的启动与 at 运行的方式:
5.1 atd 的启动
要使用一次性计划任务时,我们的 Linux 系统上面必须要有负责这个计划任务的服务,那就是 atd 服务。 不过并非所有的 Linux distributions 都默认会把他打开的,所以,某些时刻我们需要手动将atd 服务激活才行。 激活的方法很简单,就是这样:
命令:
/etc/init.d/atd start
/etc/init.d/atd restart
输出:
[root@localhost /]# /etc/init.d/atd start
[root@localhost /]# /etc/init.d/atd
用法:/etc/init.d/atd {start|stop|restart|condrestart|status}
[root@localhost /]# /etc/init.d/atd stop
停止 atd:[确定]
[root@localhost /]# ps -ef|grep atd
root 25062 24951 0 14:53 pts/0 00:00:00 grep atd
[root@localhost /]# /etc/init.d/atd start
[确定]td:[确定]
[root@localhost /]# ps -ef|grep atd
root 25068 1 0 14:53 ? 00:00:00 /usr/sbin/atd
root 25071 24951 0 14:53 pts/0 00:00:00 grep atd
[root@localhost /]# /etc/init.d/atd restart
停止 atd:[确定]
[确定]td:[确定]
[root@localhost /]#
说明:
/etc/init.d/atd start 没有启动的时候,直接启动atd服务
/etc/init.d/atd restart 服务已经启动后,重启 atd 服务
备注:配置一下启动时就启动这个服务,免得每次重新启动都得再来一次
命令:
chkconfig atd on
输出:
[root@localhost /]# chkconfig atd on
[root@localhost /]#
5.2 at 的运行方式
既然是计划任务,那么应该会有任务执行的方式,并且将这些任务排进行程表中。那么产生计划任务的方式是怎么进行的? 事实上,我们使用 at 这个命令来产生所要运行的计划任务,并将这个计划任务以文字档的方式写入 /var/spool/at/ 目录内,该工作便能等待 atd 这个服务的取用与运行了。就这么简单。
不过,并不是所有的人都可以进行 at 计划任务。为什么? 因为系统安全的原因。很多主机被所谓的攻击破解后,最常发现的就是他们的系统当中多了很多的黑客程序, 这些程序非常可能运用一些计划任务来运行或搜集你的系统运行信息,并定时的发送给黑客。 所以,除非是你认可的帐号,否则先不要让他们使用 at 命令。那怎么达到使用 at 的可控呢?
我们可以利用 /etc/at.allow 与 /etc/at.deny 这两个文件来进行 at 的使用限制。加上这两个文件后, at 的工作情况是这样的:
先找寻 /etc/at.allow 这个文件,写在这个文件中的使用者才能使用 at ,没有在这个文件中的使用者则不能使用 at (即使没有写在 at.deny 当中);
如果 /etc/at.allow 不存在,就寻找 /etc/at.deny 这个文件,若写在这个 at.deny 的使用者则不能使用 at ,而没有在这个 at.deny 文件中的使用者,就可以使用 at 命令了。
如果两个文件都不存在,那么只有 root 可以使用 at 这个命令。
透过这个说明,我们知道 /etc/at.allow 是管理较为严格的方式,而 /etc/at.deny 则较为松散 (因为帐号没有在该文件中,就能够运行 at 了)。在一般的 distributions 当中,由于假设系统上的所有用户都是可信任的, 因此系统通常会保留一个空的 /etc/at.deny 文件,意思是允许所有人使用 at 命令的意思 (您可以自行检查一下该文件)。 不过,万一你不希望有某些使用者使用 at 的话,将那个使用者的帐号写入 /etc/at.deny 即可! 一个帐号写一行。
关注公众号:架构未来 ,我们一起学习成长
3).实例
使用相对时间执行命令
1
2
3
4
5
6
7
8
|
[ root@CentOS6 桌面 ]# ls [ 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 |
每天一个linux命令(49):at命令 atrm删除作业,由作业号标识。的更多相关文章
- 每天一个linux命令(49)--diff命令
diff 命令是 Linux 上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff 在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件,diff ...
- 每天一个linux命令目录
出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...
- 每天一个 Linux 命令(20):find命令之exec
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec 参数后面跟的是command ...
- 每天一个linux命令(54):ping命令
Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...
- 每天一个linux命令(42):kill命令
Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令.通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须 ...
- 每天一个linux命令(20):find命令之exec
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec 参数后面跟的是command ...
- 每天一个linux命令(13):less 命令
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more 更加的有弹性.在 more 的时候,我们并没有办法向前面翻 ...
- 每天一个 Linux 命令(13):less 命令
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more 更加的有弹性. 在 more 的时候,我们并没有办法向前面 ...
- 每天一个linux命令(46):ping命令
Linux系统的ping 命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地 址192.168.1.1试试 ...
随机推荐
- 一款轻阅读应用ReadIT,记录我的RN躺坑之旅
背景 一款轻阅读应用ReadIT,支持功能:优质文章推送.评论点赞.计划制定.计划闹钟.天气预报.收藏文章.深浅两套主题.多语言切换.极光推送等功能.后续还会继续集成功能.前后端均自主研发,借鉴市面较 ...
- 学习笔记-ionic3 环境配置搭建到打包
折腾了两周总算理清楚了,参考的链接如下: https://blog.csdn.net/zeternityyt/article/details/79655150 环境配置 https://segmen ...
- Java利用线程工厂监控线程池
目录 ThreadFactory 监控线程池 扩展线程池 扩展线程池示例 优化线程池大小 线程池死锁 线程池异常信息捕获 ThreadFactory 线程池中的线程从哪里来呢?就是ThreadFoct ...
- Dynamics CRM Report安装出错三
需要删除和备份报表服务的密钥集 进入到Micorsoft SQL Server Reporting Services配置管理器 选择"加密密钥",点击"删除" ...
- 浅谈 Fresco 框架结构
在前面的文章 Fresco 源码分析 -- 图片加载流程 里面详细说明了图片加载的整个流程,但是除了理解源码之外,对于源码的框架层面的设计也是需要去了解的,不能只是简单的读源码,好的源码的框架设计也是 ...
- java面试一日一题:讲下在什么情况下会发生类加载
问题:请讲下在什么情况下会发生类加载? 分析:该问题主要考察对java中类加载的知识,什么是类加载,为什么会发生类加载,什么情况下发生类加载? 回答要点: 主要从以下几点去考虑 1.什么是类加载: 2 ...
- spring boot @Schedule 如何定时请求任务
spring boot 定时任务,添加两个注解即可: 1,启动类添加:@EnableScheduling 2,方法上添加注解:@Scheduled(cron = "0/5 * * * * ? ...
- C++ 面向对象高级设计
inline关键字 类声明内定义的函数,自动成为inline函数,类声明外定义的函数,需要加上inline关键字才能成为inline函数 构造函数 应该使用列表初始化 class complex { ...
- 限制pyqt5应用程序 只允许打开一次
起因 pyqt5程序创建桌面快捷方式后,多次单击图标 会打开多个UI界面,这种情况肯定是不允许的! 解决 if __name__ == '__main__': try: app = QtWidgets ...
- Typora+PicGo+cos图床打造开发者文档神器
一.Typora简介 markdown简单.高效的语法,被每一个开发者所喜爱.Typora又是一款简约.强悍的实时渲染markdown编辑器.本文将介绍Typora搭配PicGo与腾讯cos对象存储( ...