Linux一次性计划任务at命令使用详解

 更新时间:2021年12月03日 14:42:47   作者:小同志你好  
大家好,本篇文章主要讲的是Linux一次性计划任务at命令使用详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览

前言

计划任务,就是有计划的任务,就是我们想按照我们的计划自动的执行任务。

关键点有 2 个:

第一个是计划,第二个是自动。

1.一次性计划任务的介绍

所谓一次性计划任务,就是按照 计划 只 执行一次 的任务。

2.命令

Linux中的 at 命令就是用来创建一次性计划任务的,at 命令有一个服务 atd 会以后台模式运行,检查当前的时间来决定是否运行“计划”。

默认情况下,atd 服务每 60 秒检查一次目录,有“计划”时,会检查“计划”运行时间,如果“计划运行”的时间与当前时间匹配,则运行此“计划”。

3.创建一次性计划任务

首先,at 服务必须要开:

systemctl start atd

查看 atd 的状态(是否为active):

systemctl status atd

查看是否开启:

systemctl is-active atd

停掉atd服务(将不能再执行一次性计划任务):

systemctl stop atd

[root@localhost ~]# vim /root/backup-yum-repo.sh
[root@localhost ~]# cat /root/backup-yum-repo.sh 
#!/bin/bash
mkdir /opt/yum-repo-backup-dir -p
cp -r /etc/yum.repos.d /opt/yum-repo-backup-dir/yum.repos.d-`date +"%Y-%m-%d-%H:%M:%S"`.bak
[root@localhost ~]# chmod +x backup-yum-repo.sh 

使用 at 命令来执行一次性备份 yum 仓库文件,为了顺利的查看 at 的执行结果,使用下面命令来关闭 ntp 同步,并设置当前时间

#timedatectl set-ntp 0 命令关闭了 ntp 同步
[root@localhost ~]# timedatectl set-ntp 0
#date -s "2021-12-1 16:58:30" 命令设置日期和时间
[root@localhost ~]# date -s "2021-12-1 16:58:30"

示例一:具体时间的一次性计划任务

下午的5点执行,即17:00执行(如果此时的时间已经过了当天下午,那么,顺延到第二天)

# 下面命令中的 <EOT> 是提交 at 的计划任务,使用ctrl+d即可出现
[root@localhost ~]# at 5:00PM
warning: commands will be executed using /bin/sh
at> /root/backup-yum-repo.sh
at> <EOT>
job 5 at Wed Dec  1 17:00:00 2021
# atq 查看一次性计划任务
[root@localhost ~]# atq
5	Wed Dec  1 17:00:00 2021 a root
[root@localhost ~]# date;atq;ls /opt/yum-repo-backup-dir/
Wed Dec  1 16:59:50 CST 2021
5	Wed Dec  1 17:00:00 2021 a root
[root@localhost ~]# date;atq;ls /opt/yum-repo-backup-dir/
Wed Dec  1 17:00:02 CST 2021
yum.repos.d-2021-12-01-17:00:00.bak

示例二:具体日期的一次性计划任务

2021年12月12号的此刻执行某脚本。

如果没有指定time,那么就是定制计划任务的time作为执行天的time。(若指定的日期为当天日期,则会在下一分钟执行计划任务)

[root@localhost ~]# at 2021-12-12
warning: commands will be executed using /bin/sh
at> /root/backup-yum-repo.sh
at> <EOT>
job 6 at Sun Dec 12 17:07:00 2021
[root@localhost ~]# atq
6	Sun Dec 12 17:07:00 2021 a root

示例三:具体日期和时间的一次性计划任务

在2021年12月13号的12点12分执行

[root@localhost ~]# at 12:12 2021-12-13
warning: commands will be executed using /bin/sh
at> /root/backup-yum-repo.sh
at> <EOT>
job 7 at Mon Dec 13 12:12:00 2021
[root@localhost ~]# atq
6	Sun Dec 12 17:07:00 2021 a root
7	Mon Dec 13 12:12:00 2021 a root

示例四:在5天后的9点15分执行

[root@localhost ~]# atq
6	Sun Dec 12 17:07:00 2021 a root
7	Mon Dec 13 12:12:00 2021 a root
[root@localhost ~]# at 9:15 + 5 days
warning: commands will be executed using /bin/sh
at> /root/backup-yum-repo.sh
at> <EOT>
job 8 at Mon Dec  6 09:15:00 2021
[root@localhost ~]# atq
6	Sun Dec 12 17:07:00 2021 a root
7	Mon Dec 13 12:12:00 2021 a root
8	Mon Dec  6 09:15:00 2021 a root

示例五:在周一执行

[root@localhost ~]# atq
6	Sun Dec 12 17:07:00 2021 a root
7	Mon Dec 13 12:12:00 2021 a root
8	Mon Dec  6 09:15:00 2021 a root
[root@localhost ~]# at monday
warning: commands will be executed using /bin/sh
at> /root/backup-yum-repo.sh            
at> <EOT>
job 9 at Mon Dec  6 17:18:00 2021
[root@localhost ~]# atq
6	Sun Dec 12 17:07:00 2021 a root
7	Mon Dec 13 12:12:00 2021 a root
8	Mon Dec  6 09:15:00 2021 a root
9	Mon Dec  6 17:18:00 2021 a root

注:不能用过去的时间使用 at ,没有后悔药的

4.一次性计划任务管理

4.1 查看一次性计划任务

atq

[root@localhost ~]# atq
6	Sun Dec 12 17:07:00 2021 a root
7	Mon Dec 13 12:12:00 2021 a root
8	Mon Dec  6 09:15:00 2021 a root
9	Mon Dec  6 17:18:00 2021 a root

4.2 删除一次性计划任务

atrm

[root@localhost ~]# atq
6	Sun Dec 12 17:07:00 2021 a root
7	Mon Dec 13 12:12:00 2021 a root
8	Mon Dec  6 09:15:00 2021 a root
9	Mon Dec  6 17:18:00 2021 a root
[root@localhost ~]# atrm 8
[root@localhost ~]# atq
6	Sun Dec 12 17:07:00 2021 a root
7	Mon Dec 13 12:12:00 2021 a root
9	Mon Dec  6 17:18:00 2021 a root

4.3查看一次性计划任务的详细信息

at -c job_id

[root@localhost ~]# atq
6	Sun Dec 12 17:07:00 2021 a root
7	Mon Dec 13 12:12:00 2021 a root
9	Mon Dec  6 17:18:00 2021 a root
[root@localhost ~]# at -c 7

5.一次性计划任务使用控制

at.allow (/etc/at.allow)

at.deny (/etc/at.deny)

用户可以使用 at 命令设置一次性计划任务,那么 也可以控制哪些用户可以使用计划任务(在白名单中),哪些用户不可以使用计划任务

at 一次性计划任务的白名单是 at.allow ,黑名单是 at.deny 。不建议既使用白名单,又使用黑名单。

建议使用白名单,at.allow 的优先级高于 at.deny。即:wang 既在白名单,又在黑名单,则 wang 可以执行at

默认在rhel8.0系统中没有 at.allow 文件,可以自己创建。

# 将用户 wang 添加到黑名单
[root@localhost ~]# cat /etc/at.deny 
wang
[root@localhost ~]# su - wang
[wang@localhost ~]$ at
You do not have permission to use at.
# 将用户 wang 既添加到黑名单,又添加到白名单
[root@localhost ~]# cat /etc/at.allow
wang
[root@localhost ~]# cat /etc/at.deny 
wang
[root@localhost ~]# su - wang
[wang@localhost ~]$ at
Garbled time

到此这篇关于Linux一次性计划任务at命令使用详解的文章就介绍到这了,更多相关Linux一次性计划任务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Linux中vnc配置端口号的修改方法

    基于Linux中vnc配置端口号的修改方法

    今天小编就为大家分享一篇基于Linux中vnc配置端口号的修改方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Linux基线检查与安全加固方式

    Linux基线检查与安全加固方式

    本文详细介绍了Linux安全加固的多个方面,包括账户管理、口令策略、SSH安全设置等,首先,对于账户管理,介绍了口令锁定策略、口令生存期、口令复杂度、密码重用限制以及禁止存在空密码账户等方面的检查和加固操作,其次,在服务管理方面
    2024-10-10
  • Windows10安装Apache2.4的方法步骤

    Windows10安装Apache2.4的方法步骤

    本文主要介绍了Windows10安装Apache2.4的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧<BR>
    2022-06-06
  • centos6.5通过yum安装nginx

    centos6.5通过yum安装nginx

    这篇文章主要为大家详细介绍了centos6.5通过yum安装nginx的相关步骤,linux安装nginx以及配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • linux中安装deb软件包实现方式

    linux中安装deb软件包实现方式

    这篇文章主要介绍了linux中安装deb软件包实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Ubuntu文件系统磁盘空间不足报错low disk space on filesystem root的解决方案

    Ubuntu文件系统磁盘空间不足报错low disk space on file

    最近开始启动Ubuntu20.04时提示的信息如下:Low Disk Space on “Filesystem root”,这是因为Ubuntu文件系统磁盘空间不足导致的,所以本文给大家详细介绍了Ubuntu文件系统磁盘空间不足报错low disk space on filesystem root的解决方案,需要的朋友可以参考下
    2024-09-09
  • apachetop  实现实时监测web服务器运行情况

    apachetop 实现实时监测web服务器运行情况

    这篇文章主要介绍了apachetop 实现实时监测web服务器运行情况的相关资料,需要的朋友可以参考下
    2016-10-10
  • RHE5服务器配置-搭建Samba服务器步骤(图)

    RHE5服务器配置-搭建Samba服务器步骤(图)

    Samba的核心是两个守护进程,即smbd和nmbd。服务器启动到停止期间持续运行,smba监听139TCP端口;nmbd监听137和138UDP端口
    2013-02-02
  • 用DNSPod和Squid打造自己的CDN(二)

    用DNSPod和Squid打造自己的CDN(二)

    智能DNS可以说是CDN的基础。相信平时大家做网站都会有下面的情况:首页上放两个链接,电信用户请访问主力站点A,网通用户请访问镜像站点B
    2013-04-04
  • linux下system函数的简单分析

    linux下system函数的简单分析

    这篇文章主要简单分析了linux下system函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05

最新评论