Linux之系统延时任务及定时任务篇

一、系统延时任务

[root@localhost~]# at 15:05		##设定任务执行时间
at> rm -rf /mnt/*				##具体任务
at> <EOT>   <<ctrl+d			##发起执行ctrl+d

[root@localhost~]# at now+1min	##设定执行时间为一分钟后
at> rm -rf /mnt/*
at> <EOT>

at -l				##查看列表列表
at -c 任务编号		##查看某个任务的具体内容及相关属性
at -r 任务编号		##取消某个延时任务

示例:
首先在/mnt/文件下创建十个空文件,用watch监控。
在这里插入图片描述
在这里插入图片描述
分析:at -l 可以查看有具体的延时任务列表。
在这里插入图片描述
分析:at -c 任务号 可以具体的查看某个延时任务的详细内容,及相关信息。
在这里插入图片描述
在这里插入图片描述
分析:at -r 任务号 可以取消某个延时任务

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

mial -u root			##查看某个用户的邮件

二、at任务的黑白名单。

at命令默认系统中的所有用户都可以执行,我们知道这是非常危险的一件事。

/etc/at.deny		##黑名单,出现在黑名单的用户将不能执行at命令。
/etc/at.allow		##白名单,系统默认不存在,如果建立,不在文件中的用户不能执行at命令,黑名单失效。

示例:
黑名单:
在这里插入图片描述白名单:
在这里插入图片描述
分析:黑白名单都有student用户,但是student用户仍可以执行at命令,redhat用户白名单没有,不能执行。

三、系统定时任务

1.crontab 时间表示方式

分 时 日 月 周
* * * * *			command		##每分钟执行一次任务
*/2 * * * *			command		##每两分钟执行一次任务
*/2 09-17 * * *		command		##在早9-晚5每两分钟执行一次任务
*/2 */2 * * *		command		##每隔两小时的每两分钟执行一次任务
*/2 09-17 3,5 1 5	command		##在一月的三号和五号以及一月的每周五早9-晚5每两分钟执行一次任务

2、系统控制crontab的服务

crond.service					##当程序开启时定时任务生效
systemctl status crond.service  ##查看程序状态

在这里插入图片描述

3、crondtab

crontab -e -u		##编辑,指定用户
crontab -l -u		##列表,指定用户
crontab -r -u		##取消定时任务,指定用户

示例1:

crontab -e -u		##编辑,指定用户

首先用命令动态监控/mnt/文件夹

watch -n 1 ls -l /mnt/*

在这里插入图片描述
设置定时任务:
在这里插入图片描述
内容
在这里插入图片描述
效果:
在这里插入图片描述
示例2:

crontab -l -u		##列表,指定用户

在这里插入图片描述
示例3:

crontab -r -u		##取消定时任务,指定用户

在这里插入图片描述

4、文件临时设置定时任务

在/etc/cron.d/文件下建立文件

vim /etc/cron.d/filel
cat /etc/cron.d/file
* * * * *   root        rm -fr /mnt/*		##* * * * *   username    action

示例:
在这里插入图片描述
在这里插入图片描述
效果:
在这里插入图片描述

5、crontab的黑白名单

/etc/cron.deny		##黑名单,系统中默认存在,文件中的用户不能执行crontab命令
/etc/cron.allow		##白名单,默认不存在,文件出现,不在这个文件中的普通用户不能执行crontab命令,出现则黑名单失效。

示例1:黑名单
在这里插入图片描述
示例2:白名单
在这里插入图片描述
注意: 这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行

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

系统的很多服务在运行时,会产生很多的临时文件,而对这些临时文件的清理的功能的配置文件在/usr/lib/tmpfiles.d/目录中。

如:系统临时文件夹/tmp/
vim /usr/lib/tmpfiles.d/tmp.conf
在这里插入图片描述
分析:/tmp目录,当临时文件的滞留时间大于10天时会被清理。

示例:我们建立/mnt/tmp目录,滞留时间大于8s文件会被清理。

cd /usr/lib/tmpfiles.d/				##切换到指定目录
vim file.conf						
d /mnt/tmp 1777 root root 8s		##写入file.conf文件的内容

systemd-tmpfiles --create /usr/lib/tmpfiles.d/*		##创建临时文件存目录
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*		##清除滞留时间过长的临时文件

在这里插入图片描述
在这里插入图片描述
分析:在/mnt/tmp目录下有两个文件file和file2,其中file文件的滞留时间大于8s,而file2文件的的滞留时间小于8s,执行systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*。清除临时文件后,file文件被删除,保留file2文件。

猜你喜欢

转载自blog.csdn.net/qq_41830712/article/details/86574333