Linux--只执行一次的计划任务--at命令

Linux–只执行一次的计划任务–at命令



一、atd的启动和at的运行方式

atd的启动:

systemctl restrat atd      #重新启动atd这个服务
systemctl enable atd       #让这个服务开机自启动
systemctl status std       #查看一下atd目前的状态

at的运行方式

我们使用at其实是将这个任务以文本的方式写入/var/spool/at/目录内,这样这个任务就会等待atd的服务的使用执行咯
为了安全考虑,在使用at时,我们利用/etc/at.allow/etc/at.deny这两个文件对at加以限制,具体流程:

  1. 先找/etc/at.allow,写在这个文件中的用户才能使用at,没有在这个文件中的不能使用哪怕它也不在/etc/at.deny中
  2. 如果/etc/at.allow不存在就找/etc/at.deny,写在这个文件中的用户不能使用
  3. 如果两个文件都不存在,就只有root可以使用这个命令

二、at

语法: at [选项] [日期时间]
选项:
-f:指定包含具体指令的任务文件
-q:指定新任务的队列名称
-l:显示待执行任务的列表
-d:删除指定的待执行任务
-m:任务执行完成后向用户发送 E-mail 参数 日期时间:指定任务执行的日期时间

执行at指令最重要的地方在于指定[时间]

[日期时间格式]
HH:MM 在今天的HH:MM时刻执行,若该时刻已经过了,就明儿再执行 例如: 09:40
HH:MM YYYY-MM-DD 强制规定在某年某月某日的某时刻执行 例如:09:40 2023-07-18
HH:MM[am|pm] [Month] [Date] 强制规定某年某月某日的某时刻执行 例如:09:40am July 18
HH:MM[am|pm] + number [minutes|hours|days|weeks] 在某个时间点后再加几个时间才执行 例如:09:40am + 3 days

#再过五分钟把/root/.basher发给root自己
at now + 5 minutes  
at> /bin/main -s "This is a test" root < /root/.bashrc
at> <EOT>    CTRL+d 会出现<EOT>代表结束


#在2023-7-18 10:00关机
at 10:00 2023-7-18
at> /bin/sync
at> /bin/sync
at> /sbin/shutdown -h now
at> <EOT>

使用at时,我们会进入一个at shell 环境来让用户执行任务命令,所以建议使用绝对路径


总结

本文介绍了Linux中的at命令,唐怡佳继续加油!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小唐YiJiaTang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值