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 创建延迟任务

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

ctrl+d任务发起

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

ctrl+d生效后

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

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

在这里插入图片描述

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


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

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

在这里插入图片描述


1.3 查看任务列表

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

1.4 查看任务内容

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

[root@trade ~]# at -c 3

在这里插入图片描述

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

在这里插入图片描述


1.5取消任务内容

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

新版本这样取消

[root@trade ~]# at -r 5

老版本这样取消

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

二、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

写法

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

有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
[root@trade ~]# vim /etc/at.deny 
[root@trade ~]# cat /etc/at.deny 
[root@trade ~]# su - yan
[yan@trade ~]$ at 13:40
at> ^C

白名单

有白名单,黑名单不生效

除了白名单的用户和超级用户可以使用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
[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

END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值