系统定时任务和延迟任务

1 系统延时任务

1.1 延迟任务的设定方式

注意:延迟任务是临时的

命令含义
at 具体时间表示在系统中设置一个临时任务,在’at>'后面直接输入任务内容即可,书写完成后按下ctrl+d表示任务发起同时结束at>界面
at -l查看任务队列(任务号)
at -c 任务号表示查看某个任务的具体内容
at -r 任务号表示取消某个任务

1)建立文件作为实验素材:
在这里插入图片描述
建立监控:
在这里插入图片描述
监控内容如下:
在这里插入图片描述
2)查看当前时间,使用at命令设定延时任务为在16:00时,删除/mnt目录下的内容,最后按下ctrl+d命令结束at界面并使得任务生效:
在这里插入图片描述
3)查看任务号:
在这里插入图片描述
4)查看1任务的具体内容:
在这里插入图片描述在这里插入图片描述
5)延迟任务到时间后,查看任务是否执行:
在这里插入图片描述
查看监控,/mnt目录下的文件被删除:
在这里插入图片描述
6)设定延迟任务,然后查任务号,并取消该延迟任务:
在这里插入图片描述

1.2 延迟任务的输出去向

1)当我们在系统中执行某些命令的时候是有输出的,例如输入echo hello,系统会输出hello。现在设定一个延时任务,在一分钟后,执行echo hello,时间到了后,却没有输出:
在这里插入图片描述
2)当at命令执行的任务有输出时,该输出会以邮件的形式发送给at命令的发起者,所以该输出会在超级用户的邮箱中,但是在系统中直接去使用mail命令是无法使用的,因为缺少邮件组件,所以需要先进行安装。可以输入dnf search mail查找,然后安装postfix.x86_64(邮件服务)和mailx.x86_64(邮件查看工具)两个软件:
在这里插入图片描述

安装完成后,输入systemctl enable --now postfix打开邮件服务,此时系统就可以接收和发送邮件了:
在这里插入图片描述
3)设定有输出的延时任务,然后使用mail命令查看,在‘&’后面输入要查看第几封邮件内容,最后一行就是延时任务的输出,最后按q可以退出邮件:
在这里插入图片描述
查看邮件内容:
在这里插入图片描述
设置有输出的延时任务:
在这里插入图片描述
查看邮件内容:
在这里插入图片描述
退出邮件:
在这里插入图片描述
注意:输入 > /var/spool/mail/root 命令,表示清空所有超级用户的邮件

1.3 延迟任务的黑白名单设定

默认情况下,所有的用户都可以执行at命令,这样会见降低系统的安全性,加重系统的负载。
1)系统中是默认存在/etc/at.deny文件的,是at命令执行的黑名单;而/etc/at.allow文件是不存在的,是at命令执行的白名单,可以使用man 5 /etc/at.deny命令查看该文件的使用方法:
在这里插入图片描述

2)编辑黑名单文件,加入liu这个用户,并查看效果;将该用户移除黑名单后,就可以再次使用at命令:
在这里插入图片描述
3)在系统中创建一个白名单,白名单一旦创建,系统中所有普通用户不能执行at命令,只有在白名单中的用户是被允许的:
在这里插入图片描述
将用户加入白名单,查看效果:
在这里插入图片描述

注意:当白名单存在时,黑名单是不被查看的;当白名单不存在时,黑名单才会被查看

2 系统定时任务

  • 定时任务:在某个时间点,作某件事情;
  • /var/spool/cron/username 是系统任务保存文件,你用哪个用户身份去书写任务,就会用哪个用户身份去建立该文件,并且文件的内容就是crontab中的内容
  • 定时任务使用的服务是crond服务,该服务不需要下载,且在开机时自动启动
    在这里插入图片描述

2.1 crontab时间表示方式

顺序:分钟、小时、天、月、周

时间表示方式含义
* * * * *每分钟执行一次
*/2 * * * *每两分钟执行一次
*/2 09-17 * * *早上9点到晚上5点每两分钟执行一次
*/2 */2 * * *每隔2小时每两分钟执行一次
*/2 09-17 * * 5每周五早上9点到晚上5点,每2分钟执行一次
*/2 09-17 3,5 1 51月的3号和5号以及每周五,早上9点到晚上5点,每隔两分钟执行一次,注意3,5表示3号和5号,而3-5表示三号到五号

2.2 用户级定时任务的设定方式

命令含义
crontab -e -u编辑任务
crontab -l -u查看任务
crontab -r -u删除当前用户的所有任务

1)在/mnt目录中建立文件,使用监控命令查看:
在这里插入图片描述在这里插入图片描述在这里插入图片描述

2)定时任务的设定方式为crontab -e ,进入后可以编写定时任务;使用man 5 crontab命令可以查看时间和日期的表示方法,注意在星期中,0和7都表示周天,书写时,按“分钟、小时、天、月、周”的顺序来设定:
在这里插入图片描述
输入crontab -e命令,再输入以下内容,表示每分钟清理一次/mnt目录下的内容:
在这里插入图片描述
在这里插入图片描述
查看监控:
在这里插入图片描述

3)查看系统任务保存文件内容,或使用 crontab -l命令查看任务内容;使用crontab -r清除任务内容,清除后,任务保存文件也会消失:
在这里插入图片描述

注意:也可以使用 “crontab -e -u 用户名”命令,给某一个用户指定任务,但该操作只有超级用户有权利

2.3 用户级定时任务的黑白名单设定

1)同at命令一样,cron也有黑白名单,默认黑名单/etc/cron.deny 是存在的,而白名单/etc/cron.allow没有建立过文件,白名单就不存在:
在这里插入图片描述

2)默认情况下,所有用户都可以执行crontab命令:
在这里插入图片描述

3)将某个用户写入黑名单中,则该用户无法使用crontab命令,而没有在黑名单中的用户可以使用:
在这里插入图片描述
将该用户从黑名单中移除,则该用户可重新使用crontab命令:
在这里插入图片描述

4)建立白名单,将某个用户写入白名单中,则只有该用户可以使用crontab命令,其他普用户均没有权力使用该用户:

在这里插入图片描述

2.4 系统级定时任务的设定方式

1)系统级的定时任务,表示只有超级用户能配置,其配置目录为/etc/cron.d,里面的内容是可以自定义的,同时/etc/cron.下面有很多定时任务的文件,有每天的、每小时的、每月的和每周的:
在这里插入图片描述

2)进入/etc/cron.d ,查看可以看到该目录下,有两个文件,raid-check表示对系统磁盘进行检测,0hourly表示没小时需要做的事情:
在这里插入图片描述

3)进入/etc/cron.d目录下建立文件自定义系统级的定时任务,文件中的内容分别表示“时间、用户、动作”,自定义任务完成后,此时查看监控中的/mnt,看到文件被建立出来;可以将/mnt目录下的内容删除,然后再查看监控下的/mnt目录,等待一分钟,文件就会再次被建立出来:
在这里插入图片描述
自定义完成后,等待一分钟,文件被建立出来:
在这里插入图片描述
删除被建立出来的文件:
在这里插入图片描述
等待一分钟后,查看监控,文件再次被建立出来:
在这里插入图片描述

注意:系统级的定时任务,使用“crontab -l“命令是无法查看到的;在定义系统级定时任务时,需要确保没有用户级的定时文件,存在时,可以使用crontab -r 进行清理

3 系统中临时文件的管理

  • 临时文件是指,程序在运行的过程中临时使用的文件,这些文件是由程序建立,系统需要去清理这些临时文件。临时文件是有生命周期的,如果在生命周期内临时文件被删除,程序就会报错,所以删除临时文件,要在临时文件超出生命周期之后,将其删除。
  • 临时文件存放在/tmp中,该目录下的临时文件会被定期清理。那么清理的过程如何呢,系统提供了守护程序,即systemd,而systemd又提供了临时文件管理命令,systemd-tmpfiles --create 表示创建 /systemd-tmpfiles clear表示清理

1)可以使用systemd-tmpfiles --help查看帮助:
在这里插入图片描述

2)可以输入systemd-tmpfiles --cat-config查看临时文件建立的策略,可以看到临时文件都存放在/usr/lib/tmpfiles.d中:
在这里插入图片描述

3)进入/usr/lib/tmpfiles.d目录下,可以看到临时文件都是以.conf结尾:
在这里插入图片描述
可以自己建立临时文件,编辑vim westos.conf文件,里面写的内容分别表示“文件类型、文件名称、文件权限、文件用户、文件用户组、文件生命周期”:
在这里插入图片描述

4)查看临时文件建立的策略中,是否有刚才建立的临时文件:
在这里插入图片描述

5)系统重启后,文件会生效,也可以手动使其生效:
在这里插入图片描述
查看监控,该目录就会自动建立:
在这里插入图片描述

6)建立监控,递归查看该目录:
在这里插入图片描述
监控初始内容:
在这里插入图片描述
在该目录下建立文件:
在这里插入图片描述
查看监控:
在这里插入图片描述

7)此时若超过5秒钟再使用清理命令清理建立好的临时文件就会清理掉,若没有超过5秒中,该文件是无法被清理掉的,因为生命周期没有达到:
在这里插入图片描述
超过5秒后清理的结果,没有超过5秒时,无法清理:
在这里插入图片描述

8)清理所有的临时文件:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值