• 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

  • 相关阅读:
    hadoop historyserver启动,无法访问,查看报错等问题
    如何写出详细且易于阅读PRD?
    128【Java学习笔记(一百二十八)】之Object类和包装类
    Shiro与web的整合
    IO模型个人理解
    05 RocketMQ - Consumer 源码分析
    无Tomcat实现@Controller和@RequestMapping及HTTP服务
    内存以及垃圾回收
    前端必会面试题总结
    [Algorithm][前缀和][和为K的子数组][和可被K整除的子数组][连续数组][矩阵区域和]详细讲解
  • 原文地址:https://blog.csdn.net/westos_yanzheng/article/details/126587744