- A+
所属分类:未分类
安装
centos下:
yum install at
时间语法
1:能够接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。 例如:04:00 2:能够使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间。 3:能够采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。 例如:12pm 4:能够指定命令执行的具体日期,指定格式为month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面。 例如:04:00 2019-04-16 5:能够使用相对计时法。指定格式为:now + count time-units ,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,几天,几小时。 例如:now + 4 minutes 02pm + 5 days 6:能够直接使用today(今天)、tomorrow(明天)、weeks(周)来指定完成命令的时间。
参数实例
实例一
假如我想在3天后下午4点执行ls -al命令,如下:
[root@xubo etc]# at 4pm + 3 days at> /bin/ls -al at> (Ctrl+D) job 1 at Thu Apr 18 16:00:00 2019 Can't open /var/run/atd.pid to signal atd. No atd running?
总结:如上,你会发现atd没有启动,原因是(要使用一次性计划任务时,我们的 Linux 系统上面必须要有负责这个计划任务的服务,那就是 atd 服务。)那么我们启动一下,
systemctl start atd.service
实例二
我想在明天下午1点执行ls -al命令,如下:
[root@xubo etc]# at 1am tomorrow at> /bin/ls -al at> (Ctrl+D) job 2 at Tue Apr 16 01:00:00 2019
实例三
查看系统中没有执行的任务,命令如下:
atq
结果如下:
[root@xubo etc]# atq 1 Thu Apr 18 16:00:00 2019 a root 2 Tue Apr 16 01:00:00 2019 a root
实例四
删除任务,命令如下:
atrm 任务号
结果如下:
[root@xubo etc]# atq 1 Thu Apr 18 16:00:00 2019 a root 2 Tue Apr 16 01:00:00 2019 a root [root@xubo etc]# atrm 1 [root@xubo etc]# atq 2 Tue Apr 16 01:00:00 2019 a root
实例五
显示任务内容,命令如下:
at -c 任务号
结果如下:
[root@xubo etc]# at -c 2 #!/bin/sh # atrun uid=0 gid=0 # mail root 0 umask 22 XDG_SESSION_ID=1; export XDG_SESSION_ID HOSTNAME=xubo; export HOSTNAME SELINUX_ROLE_REQUESTED=; export SELINUX_ROLE_REQUESTED SHELL=/bin/bash; export SHELL HISTSIZE=1000; export HISTSIZE SSH_CLIENT=192.168.2.107\ 59379\ 22; export SSH_CLIENT SELINUX_USE_CURRENT_RANGE=; export SELINUX_USE_CURRENT_RANGE SSH_TTY=/dev/pts/0; export SSH_TTY USER=root; export USER LS_COLORS=rs=0:di=01\;34:.spx=01\;36:\*.xspf=01\;36:; export LS_COLORS SSH_AUTH_SOCK=/tmp/ssh-S8gHaMeBnX/agent.2509; export SSH_AUTH_SOCK MAIL=/var/spool/mail/root; export MAIL PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin; export PATH PWD=/etc; export PWD LANG=zh_CN.UTF-8; export LANG SELINUX_LEVEL_REQUESTED=; export SELINUX_LEVEL_REQUESTED HISTCONTROL=ignoredups; export HISTCONTROL SHLVL=1; export SHLVL HOME=/root; export HOME LOGNAME=root; export LOGNAME SSH_CONNECTION=192.168.2.107\ 59379\ 192.168.2.102\ 22; export SSH_CONNECTION LESSOPEN=\|\|/usr/bin/lesspipe.sh\ %s; export LESSOPEN XDG_RUNTIME_DIR=/run/user/0; export XDG_RUNTIME_DIR OLDPWD=/var/tmp; export OLDPWD cd /etc || { echo 'Execution directory inaccessible' >&2 exit 1 } ${SHELL:-/bin/sh} << 'marcinDELIMITER68e3f889' /bin/ls -al marcinDELIMITER68e3f889
安全问题
使用这个命令时,关于安全问题,官方给的文档是:
先寻找/etc/at.allow,写入这个文件的使用者能用,没有在此文件中的则不能使用(即使没有写在/etc/at.deny中),如果没有/etc/at.allow不存在,寻找/etc/at.deny文件,写在此文件中的使用者不能使用,而没有在此文件中的使用者,就可以使用,如果两个文件读不存在,那么只有root可以使用at命令。
每行一个,如:
[root@xubo etc]# more /etc/at.deny xubo xubogood
这样这两个账户就不能使用at了。
- 安卓客户端下载
- 微信扫一扫
- 微信公众号
- 微信公众号扫一扫