您的位置:首页 > 教程 > linux > Linux一次性计划任务at命令使用详解

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

2022-06-19 22:37:45 来源:易采站长站 作者:

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

目录前言1.一次性计划任务的介绍2.命令3.创建一次性计划任务4.一次性计划任务管理4.1查看一次性计划任务4.2删除一次性计划任务4.3查看一次性计划任务的详细信息5.一次性计划任务使用控制前言...DZn站长之家-易采站长站-Easck.Com

目录
前言
1.一次性计划任务的介绍
2.命令
3.创建一次性计划任务
4.一次性计划任务管理
4.1 查看一次性计划任务
4.2 删除一次性计划任务
4.3查看一次性计划任务的详细信息
5.一次性计划任务使用控制

DZn站长之家-易采站长站-Easck.Com

前言

计划任务,就是有计划的任务,就是我们想按照我们的计划自动的执行任务。DZn站长之家-易采站长站-Easck.Com

关键点有 2 个:DZn站长之家-易采站长站-Easck.Com

第一个是计划,第二个是自动。DZn站长之家-易采站长站-Easck.Com

DZn站长之家-易采站长站-Easck.Com

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

所谓一次性计划任务,就是按照 计划 只 执行一次 的任务。DZn站长之家-易采站长站-Easck.Com

DZn站长之家-易采站长站-Easck.Com

2.命令

linux中的 at 命令就是用来创建一次性计划任务的,at 命令有一个服务 atd 会以后台模式运行,检查当前的时间来决定是否运行“计划”。DZn站长之家-易采站长站-Easck.Com

默认情况下,atd 服务每 60 秒检查一次目录,有“计划”时,会检查“计划”运行时间,如果“计划运行”的时间与当前时间匹配,则运行此“计划”。DZn站长之家-易采站长站-Easck.Com

DZn站长之家-易采站长站-Easck.Com

3.创建一次性计划任务

首先,at 服务必须要开:DZn站长之家-易采站长站-Easck.Com

systemctl start atdDZn站长之家-易采站长站-Easck.Com

查看 atd 的状态(是否为active):DZn站长之家-易采站长站-Easck.Com

systemctl status atdDZn站长之家-易采站长站-Easck.Com

查看是否开启:DZn站长之家-易采站长站-Easck.Com

systemctl is-active atdDZn站长之家-易采站长站-Easck.Com

停掉atd服务(将不能再执行一次性计划任务):DZn站长之家-易采站长站-Easck.Com

systemctl stop atdDZn站长之家-易采站长站-Easck.Com

[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 同步,并设置当前时间DZn站长之家-易采站长站-Easck.Com

#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"

示例一:具体时间的一次性计划任务DZn站长之家-易采站长站-Easck.Com

下午的5点执行,即17:00执行(如果此时的时间已经过了当天下午,那么,顺延到第二天)DZn站长之家-易采站长站-Easck.Com

# 下面命令中的 <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
5Wed 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
5Wed 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

示例二:具体日期的一次性计划任务DZn站长之家-易采站长站-Easck.Com

2021年12月12号的此刻执行某脚本。DZn站长之家-易采站长站-Easck.Com

如果没有指定time,那么就是定制计划任务的time作为执行天的time。(若指定的日期为当天日期,则会在下一分钟执行计划任务)DZn站长之家-易采站长站-Easck.Com

[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
6Sun Dec 12 17:07:00 2021 a root

示例三:具体日期和时间的一次性计划任务DZn站长之家-易采站长站-Easck.Com

在2021年12月13号的12点12分执行DZn站长之家-易采站长站-Easck.Com

[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
6Sun Dec 12 17:07:00 2021 a root
7Mon Dec 13 12:12:00 2021 a root

示例四:在5天后的9点15分执行DZn站长之家-易采站长站-Easck.Com

[root@localhost ~]# atq
6Sun Dec 12 17:07:00 2021 a root
7Mon 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
6Sun Dec 12 17:07:00 2021 a root
7Mon Dec 13 12:12:00 2021 a root
8Mon Dec  6 09:15:00 2021 a root

示例五:在周一执行DZn站长之家-易采站长站-Easck.Com

[root@localhost ~]# atq
6Sun Dec 12 17:07:00 2021 a root
7Mon Dec 13 12:12:00 2021 a root
8Mon 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
6Sun Dec 12 17:07:00 2021 a root
7Mon Dec 13 12:12:00 2021 a root
8Mon Dec  6 09:15:00 2021 a root
9Mon Dec  6 17:18:00 2021 a root

注:不能用过去的时间使用 at ,没有后悔药的DZn站长之家-易采站长站-Easck.Com

DZn站长之家-易采站长站-Easck.Com

4.一次性计划任务管理

DZn站长之家-易采站长站-Easck.Com

4.1 查看一次性计划任务

atqDZn站长之家-易采站长站-Easck.Com

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

DZn站长之家-易采站长站-Easck.Com

4.2 删除一次性计划任务

atrmDZn站长之家-易采站长站-Easck.Com

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

DZn站长之家-易采站长站-Easck.Com

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

at -c job_idDZn站长之家-易采站长站-Easck.Com

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

DZn站长之家-易采站长站-Easck.Com

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

at.allow (/etc/at.allow)DZn站长之家-易采站长站-Easck.Com

at.deny (/etc/at.deny)DZn站长之家-易采站长站-Easck.Com

用户可以使用 at 命令设置一次性计划任务,那么 也可以控制哪些用户可以使用计划任务(在白名单中),哪些用户不可以使用计划任务DZn站长之家-易采站长站-Easck.Com

at 一次性计划任务的白名单是 at.allow ,黑名单是 at.deny 。不建议既使用白名单,又使用黑名单。DZn站长之家-易采站长站-Easck.Com

建议使用白名单,at.allow 的优先级高于 at.deny。即:wang 既在白名单,又在黑名单,则 wang 可以执行atDZn站长之家-易采站长站-Easck.Com

默认在rhel8.0系统中没有 at.allow 文件,可以自己创建。DZn站长之家-易采站长站-Easck.Com

# 将用户 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一次性计划任务内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

如有侵权,请联系QQ:279390809 电话:15144810328

相关文章

  • Linux下用GHOST来做系统备份

    Linux下用GHOST来做系统备份

    在Windows系统下备份我们可以用GHOST工具软件完成,Linux系统不能完全依赖于GHOST工具,一则是GHOST本身是有版权的软件,二是GHOST只支持ext2、ext3文件系统的Linux分区,不支持reiserfs、xfs等
    2019-10-25
  • 给 FreeBSD 12.1 安装 GNOME3 图形界面

    给 FreeBSD 12.1 安装 GNOME3 图形界面

    FreeBSD是一个完全开放的、安全的系统,可以Do it yourself的系统。但是个人还是不喜欢呆板的命令行界面,所有就给 FreeBSD 12.1 安装 GNOME3 图形界面。 开始操作,启动FreeBSD 12.1,以root身份
    2019-10-27
  • Ubuntu Studio一个不错的操作系统

    Ubuntu Studio一个不错的操作系统

    Ubuntu Studio 是一个基于 Ubuntu 而面向音频、视频及图形爱好者的操作系统。本次推出的 Ubuntu Studio 为 7.04 版,目前仅支持 Intel i386 兼容的处理器。 Ubuntu Studio 从大量的开源多媒体创作程序
    2019-10-25
  • 最受欢迎的10款Linux免费游戏

    最受欢迎的10款Linux免费游戏

    图为在Linux下运行的免费游戏America's Army 如果你认为 Linux下没有什么好游戏的话,那就错了!我们来看看Linux下最受欢迎的10款游戏吧,而且这些游戏都是完全免费的! # skyreal update(06-12
    2019-10-25
  • compiz fusion特效使用心得(附3D桌面图)

    compiz fusion特效使用心得(附3D桌面图)

    3D桌面图 LINUX发行版就是好,当大多数人还在沉迷于那些什么风格图标鸟玻璃效果甚至孜孜不倦津津乐道的时候,Linux的高手们已经悄悄为我们开启了一个桌面系统3D的时代。 当我第一次
    2019-10-25
  • Ubuntu 下aMule 的安装配置

    Ubuntu 下aMule 的安装配置

    aMule 是一个类似于 eMule 的多平台 P2P 客户端程序。以下将简略叙述 aMule 在 Ubuntu 中的安装及配置 [High ID] 与 [KAD] 的过程。 安装: sudo apt-get install amule sudo apt-get install amule-utils 如果需要
    2019-10-25
  • JMeter jp@gc - stepping thread group插件

    JMeter jp@gc - stepping thread group插件

    这是一个出单接口压力测试的小例子,了解一下压力测试最最基础的基础。出单接口是用来保险出单的,不需要在UI界面下一步下一步的出单,接口一调数据入库完事~~~。再啰嗦一句接
    2019-10-27
  • Ubuntu 下使用K3B软件刻录光盘(图)

    Ubuntu 下使用K3B软件刻录光盘(图)

    不知大家会不会在Ubuntu下刻录光盘呢?k3b是KDE环境下的一个CD/DVD刻录软件,有非常容易使用的界面,功能比较齐全。用起来感觉就象是win下的Nero一样简单自然,比ubuntu里原来的刻录CD方式
    2019-10-25