延时任务与定时任务

本文详细介绍了在Linux系统中如何使用延时任务和定时任务进行自动化运维,包括at命令和crontab的使用方法,以及如何设置任务的黑白名单。

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

延时任务与定时任务的作用是使得linux在无需人为介入的情况下,在指定的时间段自动启用或停止某些服务或命令,从而实现运维的自动化。
延时任务

1.延时任务的发起
 延时任务的命令是at + time,发起命令后可添加执行操作,然后ctrl +D保存
我们首先在/mnt下建立文件并监控
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此次延时任务为 在23:44分时删除/mnt下的westos1文件
在这里插入图片描述
在到底时间后一秒时,文件会自动删除
在这里插入图片描述
也可以在at后加 now+min 表示从现在开始的几分钟后执行
在这里插入图片描述
在这里插入图片描述
2.延时任务的查看
 at  -l   查看定时任务列表
 at  -c  查看任务内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
 at  -r  删除任务内容
 -c 和 -r后都需要加任务号才可以执行
在这里插入图片描述
3.黑白名单的设定
延时任务的黑名单在/etc/at.deny
在这里插入图片描述
在黑名单中写入用户名称,例如我们让shr用户加入黑名单中
再次执行延时任务会被拒绝
在这里插入图片描述
延时任务的白名单本身是不存在的,所以我们需要建立白名单
在这里插入图片描述
添加shrshr用户到白名单中
注意
etc/at.allow只要存在,/etc/at.deny失效,只有存在在白名单的用户可以使用定时任务在这里插入图片描述
在这里插入图片描述
shrshr用户可以使用延时任务,而其他不可用
在这里插入图片描述
在这里插入图片描述

定时任务
1.定时任务的发起以及查看
 定时任务区别于延时任务的一点是,延时任务只能执行一次,而定时任务可是多次执行,执行定时任务需要依靠crond服务
 首先查看服务是否开启
在这里插入图片描述
服务开启后可以使用定时任务,crontab -u 用户 -e为指定某个用户执行定时任务
在这里插入图片描述

编辑定时任务
* * * * *                       ###表示每时每分都执行
*/2 * * * *                     ###隔两分钟执行一次
*/2 9,18 * * *                 ###每天的9点和下午6点 每隔2分执行一次
*/2 9-18 2 * *                  ###每月2号的9到18点,每隔两分钟执行一次
*/2 9-18 2,5 7 *               ###7月的2号和5号的9到18点,每隔两分钟执行
*/2 9-18 2,5 7 4               ###7月的2号,5号,每周四,9到18点 每隔两分钟执行

此命令表示每时每刻都执行删除shrshr家目录中的文件
在这里插入图片描述
crontab  -l          查看定时任务
crontab  -u  student  -l   查看student用户下的定时任务
crontab  -u  student  -e   删除student用户下的定时任务
cat /var/spool/cron/shrshr    查看shrshr用户下的定时任务
在这里插入图片描述
在这里插入图片描述
我们在shrshr家目录下建立文件并监控查看
在这里插入图片描述
在这里插入图片描述
到整点过一秒,定时任务发起,文件删除
在这里插入图片描述
crontab  -u  用户  -r       删除该用户下的定时任务
在这里插入图片描述
2.黑白名单的设定
黑名单在/etc/cron.deny
在这里插入图片描述
添加用户到黑名单再次发起定时任务,访问被拒绝
在这里插入图片描述
在这里插入图片描述
定时任务的白名单依旧不存在,我们需要创建白名单
在这里插入图片描述
在这里插入图片描述
并将shrshr用户添加至白名单
在这里插入图片描述
shrshr用户可以发起定时任务,而shr用户不行
白名单一旦存在,黑名单失效,刚才我们将shrshr用户加入黑名单中,创建白名单后也添加shrshr用户,系统会自动识别,只看白名单
在这里插入图片描述
在这里插入图片描述

临时文件的创建
1.临时文件就是清理定时任务的文件
切换到临时文件的存放点打开一个临时文件
在这里插入图片描述
在这里插入图片描述
我们可以看到临时文件夹编写的格式
在这里插入图片描述
我们可以自己建立一个临时文件,结尾必须以.conf结尾
在这里插入图片描述
d表示此文件类型为目录
/mnt/westos表示要执行的是什么文件
777为满权限
用root用户 root组的身份执行
8s为时间周期 停留八秒后可删除
在这里插入图片描述
我们先清空实验环境并监控
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入执行命令
在这里插入图片描述
在这里插入图片描述
在westos下建立一个文件file
在这里插入图片描述
八秒周期过后在执行清理临时文件命令即可删除
在这里插入图片描述
在这里插入图片描述

在Linux中,我们可以使用cron和at命令来创建定时任务延时任务。cron是一个在后台运行的守护进程,它可以根据预定的时间表执行命令或脚本。而at则是一种命令行工具,可以在指定的时间执行一次性任务。 1. 定时任务 在Linux系统中,定时任务可以使用cron命令进行配置。cron命令允许用户在指定的时间间隔内从命令行或脚本中运行命令。 在cron中,时间间隔由5个字段来定义: ``` * * * * * command to be executed - - - - - | | | | | | | | | +----- day of the week (0 - 6) (Sunday=0) | | | +------- month (1 - 12) | | +--------- day of the month (1 - 31) | +----------- hour (0 - 23) +------------- min (0 - 59) ``` 例如,要在每周一的早上5点运行一个脚本,可以使用以下命令: ``` 0 5 * * 1 /path/to/script.sh ``` 这将在每天的5:00 AM执行/path/to/script.sh脚本,只有当日期为周一时才会执行。 2. 延时任务 在Linux系统中,我们可以使用at命令来创建延时任务。at命令允许用户在指定的时间运行一次性任务。 使用at命令创建一个延时任务的基本语法格式如下: ``` at TIME <<EOF command1 command2 ... EOF ``` 其中TIME可以是绝对时间或相对时间,也可以使用日期和时间的组合。例如,以下命令将在10分钟后运行命令: ``` at now + 10 minutes <<EOF /path/to/command EOF ``` 此外,也可以使用at命令来指定一个具体的时间运行命令: ``` at 2:00am tomorrow <<EOF /path/to/command EOF ``` 这将在明天的凌晨2点运行命令。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值