仅执行一次的工作排程(at)

[root@study ~]# systemctl restart atd
[root@study ~]# systemctl enable atd
[root@study ~]# systemctl status atd
● atd.service - Job spooling tools
   Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled)
   Active: active (running) since 四 2021-07-22 16:48:00 CST; 26s ago
 Main PID: 7802 (atd)
   CGroup: /system.slice/atd.service
           └─7802 /usr/sbin/atd -f

7月 22 16:48:00 study.centos.cupgod systemd[1]: Started Job spooling tools.

我们使用at这个指令来产生所要运作的工作,并将这个工作以文本文件的方式写入/var/spool/at/目录内,该工作便能等待atd这个服务的取用与执行了。

使用/etc/at.allow与/etc/at.deny来进行at的使用限制

  1. 先找寻/etc/at.allow这个文件,写在这个文件中的使用者才能使用at,没有在这个文件中的使用者则不能使用at(即使没有写在at.deny当中)
  2. 如果/etc/at.allow不存在,就寻找/etc/at.deny这个文件,若写在这个at.deny的使用者则不能使用at,而没有在这个at.deny文件中的使用者,就可以使用at了。
  3. 如果两个文件都不存在,那么只有root可以使用at这个指令。
[root@study ~]# at now + 5 minutes
at> /bin/mail -s "testing at job" root < /root/.bashrc
at> <EOT>            #这里按下ctrl+D
job 2 at Thu Jul 22 17:10:00 2021


#查阅第2项工作内容
[root@study ~]# at -c 2
#!/bin/sh
# atrun uid=0 gid=0
# mail cupgod 0
umask 22

${SHELL:-/bin/sh} << 'marcinDELIMITER3e90481b'
/bin/mail -s "testing at job" root < /root/.bashrc   #写入的东西在这呢

marcinDELIMITER3e90481b


#在2021/07/22 23:00关机
[root@study ~]# at 23:00 2021-07-22
at> /bin/sync
at> /bin/sync
at> /sbin/shutdown -h now
at> <EOT>
job 3 at Thu Jul 22 23:00:00 2021

注意:at的执行与终端机环境无关,而所有standard output / standard error output都会传送到执行者的mailbox去!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值