linux命令学习-at命令

at命令介绍

at命令是一次性定时计划任务,at允许使用一套相当复杂的指定时间的方法。

  1. 它能够接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。
  2. 它能够使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的 词语来指定时间。
  3. 用户还能够采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。 也能够指定命令执行的具体日期,指定格式为month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。
  4. 指定的日期必须跟在指定时间的后面。 上面介绍的都是绝对计时法,其实还能够使用相对计时法,这对于安排不久就要执行的命令是很有好处的。指定格式为:now + count time-units ,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,究竟是几天,还是几小时,等等。 更有一种计时方法就是直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。
    需要注意的是,at命令定义的定时任务只会执行一次,如果需要循环执行的定时任务需要使用crontab命令。

atd服务启停

要想使用at命令,需要先启动atd服务,因为定时计划任务的执行,需要atd服务去/var/spool/at/目录下去找。该工作便能等待 atd 这个服务的取用与运行了。就这么简单

ps -aux | grep atd  #查找atd服务是否开启

/etc/init.d/atd {start|stop|restart|condrestart|status}

#开启
/etc/init.d/atd start
#重新开启
/etc/init.d/atd restart
#关闭
/etc/init.d/atd stop

如果在/etc/init.d下面没有atd服务,那么使用以下命令

systemctl status atd  #查看atd的状态

systemctl start atd #开启atd

systemctl stop atd  #停止atd服务  

systemctl enable atd #系统启动时自动启动

systemctl disable atd #系统启动时自动启动

命令的使用

#使用方法,现在命令行输入at + time
at time 
at> echo 'Hello, World!'
at> <Ctrl+D>  

at 命令支持多种时间格式:

  1. 指定具体时间:at 15:00
  2. 指定日期和时间:at 3pm tomorrow
  3. 指定特定日期:at 3pm Jul 25
  4. 相对时间:at now + 1 hour
    在添加成功之后,可以通过atq命令查询
    通过atrm job_id来删除定时计划任务
    通过at -c job_id来展示需要执行的任务内容

使用实例

在两分钟之后执行date > ~/text.txt命令

date > ~/text.txt | at now + 2 minutes

在15:37执行 cd /home/myProject; make run >> text.txt

$ at 15:37
warning: commands will be executed using /bin/sh
at> cd /home/myProject
at> make run
at> <EOT>
job 12 at Thu Aug  8 15:37:00 2024
#特别注明:<EOT>是ctrl+D的快捷键

使用场景

  1. 延迟任务执行:适用于需要在未来某个时间点执行的任务,而不需要手动触发。例如,在办公时间结束后运行数据备份任务。
  2. 定时任务:可用于计划特定时间点的操作,如发送提醒邮件、生成报告等。
  3. 系统维护:用于安排系统维护任务,如重启服务、清理日志文件、执行系统更新等。
  4. 批处理任务:执行一次性的批处理任务,而无需创建复杂的定时脚本或使用cron作业。

参考链接

https://www.cnblogs.com/peida/archive/2013/01/05/2846152.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SAO&asuna

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

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

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

打赏作者

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

抵扣说明:

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

余额充值