Linux中系统定时任务及延迟任务

系统维护通常是在半夜,我们需要定时开启任务进行维护
定时任务:每到一个时间点就去做一个任务,永久生效
延迟任务:到某个时间点做某个任务,一次生效

一、延迟任务的设定

先新建数个文件,开启监控,监控文件状态
在这里插入图片描述
at 01:52     设定延时任务,ctrl+d 任务发起
at -l         查看任务
at -c 1     查看任务内容
at -r 1      取消任务

例子:
1:49 的时候设定 01:52 时删除 /other/ 下的所有文件,01:50 的时候文件还在,可以查看到延迟命令的任务和任务内容
在这里插入图片描述
01:52 的时候系统就删除了目录下的所有文件,也查看不到延时任务了
在这里插入图片描述

二、延时任务的输出去向

当一个延迟执行的任务是有输出的情况时,到了时间点输出到了哪里?
其实是到了当前用户(root用户)的邮箱
在这里插入图片描述
如何安装邮件组件:

  1. 先搭建好本地的软件仓库,详情请看文章《Linux下的软件管理,软件的安装,软件仓库的搭建和共享》四、本地软件仓库的搭建
  2. 查找邮件相关组件 dnf search mail
  3. 安装邮件的服务和邮件查看工具 dnf install postfix.x86_64 mailx.x86_64
    在这里插入图片描述
  4. 打开邮件服务 systemctl enable --now postfix
    在这里插入图片描述
  5. 再遇到有任务输出的情况,mail 打开邮件就能查看到输出情况,exit 可以退出
    在这里插入图片描述

三、延迟任务的黑白名单设定

目前所有命令都能执行 at 命令,这是不安全的,我们需要设定延迟任务的黑白名单

白名单 在 /etc/at.allow
黑名单 在 /etc/at.deny
在这里插入图片描述
当白名单存在时,黑名单是不被查看的;
只有当白名单不存在,黑名单才能被查看

at 任务黑名单的使用:
在黑名单中写入普通用户名 kaikai ,保存退出后,kaikai 用户就不能使用 at 命令了
在这里插入图片描述
at 任务白名单创建和使用:
白名单创建后系统中所有普通用户不能执行 at 命令,只有白名单中的用户是被允许的
在这里插入图片描述

四、定时任务的设定

先新建数个文件,开启监控,监控文件状态
在这里插入图片描述
要想使用系统定时任务,需要开启 crond 服务
在这里插入图片描述
crontab -e     编写定时任务
其实文件是在 /var/spool/cron/root
在这里插入图片描述
表示每两分钟清空一次目录,整点计时,保存退出即生效

时间表示方式:

min hour day mouth week时间表示含义
* * * * *每分钟执行
*/2 * * * *每两分钟执行
*/2 09-17 * * *早9点到晚5点每两分钟执行
*/2 */2 * * *每隔两小时中每隔两分钟执行
*/2 09-17 3,5 1 5一月的3号和5号和每个周五的早9点到晚5点每两分钟执行
*/2 09-17 * * 5每个周五的早9点到晚5点每两分钟执行

注意:
1,2   表示1和2
1-5   表示1到5
1-5/2   表示1-5时间范围内每隔两个周期做一次

crontab -l     查看 crontab 的内容
crontab -r     对 crontab 中所有任务清除
crontab -e -kaikai     指定kaikai用户执行定时任务(只有超级用户可以发起)
在这里插入图片描述
在这里插入图片描述

五、定时任务的黑白名单设定

目前所有命令都能执行 crontab 命令,这是不安全的,我们需要设定延迟任务的黑白名单

白名单 在 /etc/cron.allow
黑名单 在 /etc/cron.deny
在这里插入图片描述
当白名单存在时,黑名单是不被查看的;
只有当白名单不存在,黑名单才能被查看

crontab 任务黑名单的使用:
在黑名单中写入普通用户名 kaikai ,保存退出后,kaikai 用户就不能使用 crontab 命令了
在这里插入图片描述
crontab 任务白名单创建和使用:
白名单创建后系统中所有普通用户不能执行 crontab 命令,只有白名单中的用户是被允许的
在这里插入图片描述

六、系统级的 crontab 的设定方式

在目录 /etc/ 下,有很多关于 cron 的目录,其中目录 cron.d 是自定义系统级的目录
在这里插入图片描述
进入目录 cd /etc/cron.d ,写文件 vim westos

其中可以书写:
*      *      *     root     rm -fr /other/*
表示每分钟以超级用户身份每分钟执行任务
在这里插入图片描述
书写好文件后,保存退出,新建文件
在这里插入图片描述
过一分钟指定文件会被删除
在这里插入图片描述

七、临时文件管理

系统中有临时文件的管理命令 systemd-tmpfiles
在这里插入图片描述
systemd-tmpfiles --cat-config 查看临时文件建立策略
在这里插入图片描述
可以发现,临时文件策略都在 /usr/lib/tmpfiles.d/ 这个目录下

做实验:

  1. 进入目录 cd /lib/tmpfiles.d/ ,创建一个临时文件建立策略 vim westos.conf 后缀固定,编辑内容
    在这里插入图片描述
    此时也能看到我们设定的临时文件策略也能看到
    在这里插入图片描述
  2. systemd-tmpfiles --creat /lib/tmpfiles.d/westos.conf 创建该目录,手动生效
    在这里插入图片描述
  3. 我们在 westos 目录下建立文件,紧接着
    systemd-tmpfiles --clean /lib/tmpfiles.d/westos.conf 清理目录 westos 下的临时文件
    在生命周期 5s 内,文件是不能被清理的
    在这里插入图片描述
  4. 超过了生命周期,再清理才能生效
    在这里插入图片描述

应用:
将命令 systemd-tmpfiles --clean /lib/tmpfiles.d/*.conf 写入定时任务中,可以定期对临时文件进行清理

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值