linux下的定时任务和延迟任务

本文详细介绍了如何使用at命令和crontab进行定时任务和延迟任务的设置,包括任务的查看、删除,以及黑白名单的设定。同时,探讨了系统中临时文件的生命周期管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、定时任务和延迟任务概述

通俗的讲,定时任务和延迟任务就好比一个闹钟。

定时任务: 定时任务就是我们定的闹钟,一到固定时间闹钟就会执行相应动作。

延迟任务: 延迟任务就是一个慵懒的人,闹钟响后不想起,所以定一个延迟的任务。

注意:定时是永久的,而延迟是一次性的

二、利用at命令设置定时任务和延迟任务

1. at相关命令如下所示:

at + 时间设定任务执行时间
at -l查看任务列表
at -c 任务号查看任务内容
at -r 任务号取消任务执行
at now+1min延迟一分钟
ctrl+D发起任务

2. 实验监控

watch -n 1 ls -l

在这里插入图片描述

3. at任务的定时与延迟

  1. 当时间没有到指定的时间时,任务不执行,监控处没有任务,如下图所示:
    在这里插入图片描述
  2. 当时间到指定时间时,任务执行,并进行监控,如下图所示:
    在这里插入图片描述
  3. 任务的查看与删除,如下图所示:
    在这里插入图片描述
    在这里插入图片描述
    注意:当任务执行过后不可以再查看任务列表,此时的任务列表为空,如下图所示:
    在这里插入图片描述
    注意:当任务有输出时,输出会以邮件的形式发送给at任务的发起者,如下所示:
    在这里插入图片描述

三、at命令的黑白名单

at任务的黑名单

  1. 当我们不设定黑名单时,切换用户为student时,发现student可以执行at命令,如下图所示:
    在这里插入图片描述
  2. 设定黑名单,如下所示:
    在这里插入图片描述
    在这里插入图片描述
  3. 当我们切换到student用户是,报错不允许使用at定时,实验结果如下:
    在这里插入图片描述

at任务白名单

  1. 设定at任务白名单,如下图所示:
    在这里插入图片描述
    在这里插入图片描述
  2. 当我们设置白名单以后,只有在白名单里的人才会设定at任务,如下图所示:
    在这里插入图片描述

当黑白名单都存在时,如下图所示:
在这里插入图片描述由上图可知黑白名单都有student用户时,student可以执行at命令

注意:当白名单存在时,黑名单不生效

四、系统定时任务crontab

1. 首先要开启控制crontab的服务,只有crontab当服务开启,任务才会生效
在这里插入图片描述
2. 用man 命令查看crontab的时间表示方式如下所示:
在这里插入图片描述

每个*代表的含义如下:

*****

常用的基本时间表示方式如下所示:

* * * * *每分钟
*/2 * * * *每两分钟
*/2 09-17 * * *早7晚5每两分钟
*/2 */2 * * *每隔2小时每两分钟
*/2 09-17 3,5 1 51月的3号和5号,每周5,朝9晚5,每隔2分钟
*/2 09-17 * * 5每周周五早9晚5

注意:
(1) " /" 表示每隔多久
(2) “,” 表示几和几
(3) “-” 表示从到什么到什么

3. crontab命令

crontab -u root -e编辑定时任务
crontab -u root -l查看root用户下的定时任务列表
crontab -u root -r取消定时任务

在这里插入图片描述
在这里插入图片描述
配置文件记录着此定时任务,当删除定时任务后,配置文件也自动删除,如下所示:
在这里插入图片描述

4. 文件方式设置定时任务

<1> 查看文件该配置文件中包含的基本信息
在这里插入图片描述
<2> 具体实验如下:
在这里插入图片描述
在这里插入图片描述
在test.sh文件中写入以下内容:
在这里插入图片描述
给脚本可执行权限,发现建立了3个文件,如下所示:
在这里插入图片描述
上下文件进行对比,发现时间更新,如下图所示:
在这里插入图片描述
五、crontab的黑白名单

crontab任务的黑名单

  1. 当我们不设定黑名单时,切换用户为student时,发现student可以执行crontab命令,如下图所示:
    在这里插入图片描述
  2. 设定黑名单,如下所示:
    在这里插入图片描述
    在这里插入图片描述
  3. 当我们切换到student用户是,报错不允许使用crontab定时,实验结果如下:
    在这里插入图片描述
    crontab任务的白名单
    在这里插入图片描述
    当黑白名单都存在时,如下图所示:
    在这里插入图片描述
    注意: crontab定时和at定时一样,当黑白名单都存在时,黑名单不生效

六、系统中临时文件的管理

1 . 生命周期的作用:

由于系统中正在使用的临时文件不能被删除,所以我们需要给文件设定一个周期,当文件的时间超过这个周期,就可以被清理掉。此时这个周期我们将它称之为生命周期。
2. 具体实验如下:
<1> 对实验进行命令监控,如下所示:
在这里插入图片描述
<2> 编辑配置文件,如下所示:
在这里插入图片描述
在这里插入图片描述
<3> 创建文件,并在目录中建立文件,如下图所示:
在这里插入图片描述
在这里插入图片描述
<4> 清理目录下的文件,如下图所示:
在这里插入图片描述
此时发现文件并没有被清理,因为文件在生命周期以内,所以不能被清理,当文件的时间超生命周期以后发现文件被清理,如下图所示:
在这里插入图片描述
如上图所示,此时文件已被清理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_42566251

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值