加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux中只执行一次的定时任务的操作步骤是怎样的

发布时间:2023-08-22 11:05:11 所属栏目:Linux 来源:互联网
导读:   这篇文章主要介绍“Linux中只执行一次的定时任务的操作过程是怎样的”,有一些人在Linux中只执行一次的定时任务的操作过程是怎样的的问题上存在疑惑,接下来小编就给大家来介
  这篇文章主要介绍“Linux中只执行一次的定时任务的操作过程是怎样的”,有一些人在Linux中只执行一次的定时任务的操作过程是怎样的的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。
 
  定时任务是操作系统提供给我们的一个非常好的功能,我们经常用定时任务来处理一些事情,比如每天定时备份网站数据、每个月执行下数据统计程序、监控服务器的运行情况(发生错误时给管理员发消息通知)等等,这些都需要定时任务来完成。
 
  linux下的定时任务分为两大类:只执行一次的定时任务,周期性执行的定时任务。今天,我们一起来看看只执行一次的定时任务,关于周期性执行的定时任务,将会在接下来的一篇文章中表述。
 
  atd服务
 
  只执行一次的计划任务,我们是通过at命令来完成的,想要执行at命令则需要先开启atd服务。查看atd服务的运行状况及开启atd服务的命令如下:
 
  # 查看atd服务状况
 
  # systemctl status atd
 
  # 开启atd服务
 
  # systemctl start atd
 
  at权限管理
 
  当使用at来产生新的任务时,该任务就会以文本文件形式被放到/var/spool/at目录下。
 
  # ll /var/spool/at
 
  total 8
 
  -rwx------ 1 root   root   2890 Nov  7 16:30 a0000201981b23  <===== at产生的文件
 
  drwx------ 2 daemon daemon 4096 Nov  7 16:27 spool
 
  对于at的权限管理,系统有两个专门的文件来指定。这两个文件,其实就和我们理解的黑白名单一样。这两个文件分别是/etc/at.deny(黑名单)、/etc/at.allow(白名单)。系统默认的at.deny的内容为空,而对于/etc/at.allow系统默认是不存在的。如果这两个文件都不存在,则只有root用户可以使用at命令。
 
  at命令详解
 
  我们来看看如何使用at这个命令。
 
  设置计划任务
 
  使用at命令设置计划任务 at [-m] 时间,常用的时间格式——HH:MM YYYY-MM-DD,此外还可以使用英文的now +1 minutes类似形式设置。
 
  # at 17:00 2020-11-11
 
  at> date >> /root/at.txt
 
  at> <EOT>  <=== 这里输入ctrl+d来结束
 
  job 3 at Wed Nov 11 17:00:00 2020
 
  # at now +5 minutes
 
  at> date >> /root/at.txt        
 
  at> <EOT>
 
  job 4 at Sat Nov  7 17:01:00 2020
 
  查看计划任务
 
  使用-l选项可查看计划任务,如果想看具体的命令可以使用-c选项。除此之外,还可以使用atq命令来查看。
 
  # at -l
 
  6 Sat Nov  7 17:13:00 2020 a root
 
  3 Wed Nov 11 17:00:00 2020 a root
 
  # atq
 
  6 Sat Nov  7 17:13:00 2020 a root
 
  3 Wed Nov 11 17:00:00 2020 a root
 
  移除计划任务
 
  还未执行的计划任务,可以通过at -d或atrm来删除。
 
  # at -d 3
 
  # atrm 6
 
  使用at来生成计划任务还有一个好处就是,可以完成脱机管理工作。
 

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章