at的使用(测试性操作)

可以通过at命令来测试,倒回可能会导致异常或管理中断的操作。

  1. 开启进程
systemctl start atd
systemctl enable atd
systemctl status atd
  1. 命令行方式编辑
at 23:00
at> sync
at> /sbin/shutdown -h now
at> at>       这里按Ctrl + d退出
job 20 at Sat Jun 22 12:59:00 2019
  1. 文件命令编辑方式
vim cmds.txt
at -f cmds.txt 11:20
  1. 时间格式
at [option] TIME
 
    option:
        -l :列出指定队列中等待运行的作业;相当于atq
        -d :删除指定的作业;相当于atrm
        -c :查看具体作业任务
        -f /path/from/somefile :从指定文件中读取任务
            
    TIME:
        HH:MM [YYYY-mm-dd]
        noon,midnight,teatime
        tomorrow
        now+n{minutes,hours,days, OR weeks}

例子:
at -f cmds.txt 20:20 2020-12-05
at -f cmds.txt now+10minutes
at -f cmds.txt now+1hours
at -f cmds.txt now+10day
at -f cmds.txt 23:59 当天
  1. 常用命令
使用at -l或者atq命令查看at jobs
$ at -l
19      Sat Jun 22 11:52:00 2019 a root
其中19为job编号。

使用at -c命令查看job内容
[user@bee-a ~]$ at -c 22 | tail -5
${SHELL:-/bin/sh} << 'marcinDELIMITER75d3816a'
pwd                我们的命令1
date               我们的命令2

marcinDELIMITER75d3816a
查看任务还可以:
$ sudo ls -l /var/spool/at
total 2
-rwx------. 1 user user 2830 Jun 22 13:11 a00017018d0759  这个就是你的at job
drwx------. 2 root root    6 Jun 22 13:04 spool

at的job执行完毕后会邮件通知
You have new mail in /var/spool/mail/user
注意:所有命令的回显都会以邮件形式发送,而不会直接呈现在控制台。

使用at -d命令删除指定编号的job
at -d 22   这里22是at job的编号(atq 输出的第一列数字)
  1. 其他
    黑白名单:
    /etc/at.allow
    /etc/at.deny

Linux mail的使用(邮件只发给su之前的用户)

mail
$ mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/user": 9 messages 1 unread
    1 root                  Sat Jun 22 11:34  36/696   "Output from your job       11"
    2 root                  Sat Jun 22 11:36  37/1629  "Output from your job       12"
    3 root                  Sat Jun 22 11:45  22/628   "Output from your job       14"
    4 root                  Sat Jun 22 11:47  22/628   "Output from your job       16"
&h    查看所有的邮件列表
&t     或者&n 或者直接回车,来查看相应的邮件
&d     如&d 12 或者&d 1-9
&q

你可能感兴趣的:(at的使用(测试性操作))