Linux系统的延时任务与定时任务

一、系统延时任务

1.at 的用法

  • at 时间点 | 设定任务执行时间

16:00 此时目录里有文件
在这里插入图片描述
到16:03时准时执行任务
在这里插入图片描述

  • at now+1min | 延时一分钟

在16:15设定时间为此时间延后一分钟
在这里插入图片描述
在16:16执行所输入的命令,删除了目录里的文件
在这里插入图片描述

at -l 查看任务列表
at -c 任务号 查看此任务内容
at -r 任务号 取消此任务执行
  • at -l 查看任务列表

在这里插入图片描述

  • at -c 任务号 | 查看此任务内容

在这里插入图片描述

  • at -r 任务号 | 取消此任务执行

在这里插入图片描述
注意:当任务有输出时,输出会以邮件的形式发送给at任务发起者

前期准备

先安装这两个软件
在这里插入图片描述
在这里插入图片描述
开启postfix此服务
在这里插入图片描述

测试

  • mail -u 用户名 | 查看此用户的邮件

at 任务的发起者是root,所以我们查看root的邮件
在这里插入图片描述
在这里插入图片描述

2.at任务的黑白名单

创建三个用户分别为lee、yaya、xin
在这里插入图片描述
默认情况下,三位用户都可以使用at命令
在这里插入图片描述

vim /etc/at.deny 黑名单

[系统中默认存在的文件 ,在此文件中出现的用户不能执行at命令]

在此文件里加上lee、yaya用户
在这里插入图片描述
此时会发现只有xin用户才可以使用at命令
在这里插入图片描述

vim /etc/at.allow 白名单

[系统中默认不存在的文件,当文件存在时,普通用户不能执行;只有在名单里的用户可以]
在这里插入图片描述
在这里插入图片描述

在文件里写入lee、yaya用户
在这里插入图片描述

会发现只有写入白名单里的lee、yaya用户可以使用at命令
在这里插入图片描述

at黑白名单的优先级

在黑白名单里都写入lee用户
在这里插入图片描述
会发现lee用户可以使用at命令
在这里插入图片描述
由此可见,黑白名单同时写入一位用户,最后生效的是白名单文件!

二、系统定时任务

1.crontab的时间表达方式

man 5 crontab
查看crontab命令详解

在这里插入图片描述
例:

* * * * * 每分钟
*/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

2.系统控制crontab的服务

crond.service 当此服务开启时定时任务生效

在这里插入图片描述

3.crontab的用法

(用户级别的设定)

crontab -e -u 建立用户级定时任务
crontab -l -u 查看定时任务内容
crontab -r -u 删除此用户的定时任务

可发现,删除后就查看布料
注意:如果不加-u指定用户的话,一般默认是给超级用户设定定时任务

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

(系统级别的设定)
vim /etc/cron.d/文件名

格式 minute hour dayofmounth month dayofweek 用户名 执行动作

在这里插入图片描述

5.crontab的黑白名单

vim /etc/cron.deny

[系统中默认存在的文件,在此文件出现的用户不能呢个执行crontab命令]

在黑名单里写入lee用户,会发现在lee用户下不能操作crontab命令。而yaya用户可以
在这里插入图片描述

vim /etc/cron.allow

[系统中默认不存在的文件,当此文件出现,普通用户不能执行crontab命令;只有在名单里的用户才可以]
在这里插入图片描述

创建/etc/cron.allow文件
在这里插入图片描述
在白名单里写入用户lee,发现只有此普通用户可以执行crotab命令
在这里插入图片描述
注意: 白黑名单都不会影响/etc/cron.d/目录中定时任务的发起及执行

crontab黑白名单的优先级

在黑白名单里都写入lee用户,发现lee可以执行crontab命令
在这里插入图片描述
由此可见,黑白名单同时写入一位用户,最后生效的是白名单文件!

三、系统中临时文件的管理方式

vim /usr/lib/tmpfiles.d/lyx.conf

在这里插入图片描述

systemd-tmpfiles --create /lib/tmpfiles.d/lyx.conf 根据规则建立一个目录
systemd-tmpfiles --clean /lib/tmpfiiles.d/lyx.conf 根据lyx.conf里规则来清理临时文件

在这里插入图片描述
在这里插入图片描述
注意:系统每天会自动执行systemd-tmpfiles --clean /lib/tmpfiiles.d/* 此命令,来清理临时文件!

  • Get

猜你喜欢

转载自blog.csdn.net/qq_49286390/article/details/107921990