• linux系统延迟任务


    linux系统延迟任务



    一、延迟任务(一次性)

    比如:今天设置了延迟任务,今天下午清理文件,延迟任务执行了,明天就不会执行,除非再设置一次


    1.1 环境

    [root@trade test1]# touch yan{1..3} 
    [root@trade test1]# ls -l
    total 0
    -rw-r--r--. 1 root root 0 Aug 29 10:50 yan1
    -rw-r--r--. 1 root root 0 Aug 29 10:50 yan2
    -rw-r--r--. 1 root root 0 Aug 29 10:50 yan3
    [root@trade test1]# watch -n 1 ls -l /root/test1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    监控

    在这里插入图片描述


    1.2 创建延迟任务

    开启新窗口,在x时间清空掉/root/test1的文件

    ctrl+d任务发起

    [root@trade ~]# at 11:00
    at> rm -fr /root/test1/*
    
    • 1
    • 2

    ctrl+d生效后

    at> <EOT>
    job 1 at 2022-08-29 11:00
    
    • 1
    • 2

    11:00:00准时清除掉该目录下的文件

    在这里插入图片描述

    多个任务,一行一行写,写完ctrl +d


    或者这样写
    单位也可以是1day

    [root@trade ~]# at now+1min
    at> rm -fr /root/test1/*
    
    • 1
    • 2
    at> <EOT>
    job 6 at 2022-08-29 13:21
    
    • 1
    • 2

    在这里插入图片描述


    1.3 查看任务列表

    [root@trade ~]# at 11:05
    at> touch /root/test1/ywq
    at> <EOT>
    job 3 at 2022-08-29 11:05
    
    • 1
    • 2
    • 3
    • 4
    [root@trade ~]# at -l
    3	2022-08-29 11:05 a root
    
    • 1
    • 2

    1.4 查看任务内容

    很长,看最后一行,就知道任务内容

    [root@trade ~]# at -c 3
    
    • 1

    在这里插入图片描述

    at -l查到任务05分执行,20分时任务执行完成了

    在这里插入图片描述


    1.5取消任务内容

    [root@trade ~]# at -l
    5	2022-08-29 13:30 a root
    
    • 1
    • 2

    新版本这样取消

    [root@trade ~]# at -r 5
    
    • 1

    老版本这样取消

    [root@trade ~]# atrm 5
    
    • 1
    [root@trade ~]# at -l
    [root@trade ~]# 
    
    • 1
    • 2

    二、at命令黑白名单

    默认任意用户都可以使用at命令
    这样首先安全性不高,其次任意用户发起at命令会使得系统负载变高

    系统中默认存在黑名单

    [root@trade ~]# ls -l /etc/at.deny
    -rw-r--r--. 1 root root 1 Jan 20  2012 /etc/at.deny
    [root@trade ~]# ls -l /etc/at.allow
    ls: cannot access /etc/at.allow: No such file or directory
    
    • 1
    • 2
    • 3
    • 4

    写法

    [root@trade ~]# man 5 at.deny 
    
    • 1

    有at.allow的时候,at.deny不生效

    在这里插入图片描述


    黑名单

    [root@trade ~]# su - yan
    [yan@trade ~]$ at 13:40
    at> ^C[yan@trade ~]$ logout
    
    [root@trade ~]# vim /etc/at.deny 
    [root@trade ~]# cat /etc/at.deny 
    yan
    
    [root@trade ~]# su - yan
    [yan@trade ~]$ at 13:40
    You do not have permission to use at.
    [yan@trade ~]$ logout
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    [root@trade ~]# vim /etc/at.deny 
    [root@trade ~]# cat /etc/at.deny 
    [root@trade ~]# su - yan
    [yan@trade ~]$ at 13:40
    at> ^C
    
    • 1
    • 2
    • 3
    • 4
    • 5

    白名单

    有白名单,黑名单不生效

    除了白名单的用户和超级用户可以使用at命令以外,所有用户都不能使用at命令

    [root@trade ~]# touch /etc/at.allow
    [root@trade ~]# su - oracle
    [oracle@trade ~]$ at now+1min
    You do not have permission to use at.
    [oracle@trade ~]$ logout
    
    [root@trade ~]# su - yan
    [yan@trade ~]$ at now+1min
    You do not have permission to use at.
    [yan@trade ~]$ logout
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    [root@trade ~]# vim /etc/at.allow 
    [root@trade ~]# cat /etc/at.allow 
    oracle
    
    [root@trade ~]# su - oracle
    [oracle@trade ~]$ at now+1min
    at> ^C[oracle@trade ~]$ logout
    
    [root@trade ~]# su - yan
    [yan@trade ~]$ at now+1min
    You do not have permission to use at.
    [yan@trade ~]$ logout
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    END

  • 相关阅读:
    面向大规模向量搜索引擎的内存-硬盘优化的近似最近邻搜索算法(GRIP)
    03_nodejd_npm install报错
    商城小程序开发|二级分销裂变商城小程序怎么赚钱?
    linux 内核哪种锁可以递归调用 ?
    边缘计算网关的用途及其使用方法-天拓四方
    XPS—专项文献阅读-科学指南针
    iOS微信发布8.0.29版本,苹果14用户快来
    如何挑选自媒体平台进行创作?这3个关键需要把握
    【PyTorchVideo教程01】快速实现视频动作识别
    在SSD268G上运行第一个demo
  • 原文地址:https://blog.csdn.net/westos_yanzheng/article/details/126587744