一、延时任务
1. 什么延时任务
延时任务就是指定任务发生是一次性的,不重复的。延时任务有别于定式任务,定时任务往往是固定周期的,有明确的触发时间。而延时任务一般没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发另一个事件。
2.at命令
具体时间下执行
at 08:33 ##在8:33完成任务
基于现在时间之后执行
at now+1min ##在一分钟之后执行任务
at -l ##列出当前所有延时任务
at -c+任务编号 ##查看任务内容
at -r ##查看任务
ctrl+d 执行任务
每写完一个at任务需要 ctrl+d来执行!
时间不能精确到秒
at命令最小的时间单位是分钟。
3.黑名单与白名单
默认情况下所有用户都可以执行at命令。
用户黑名单
黑名单路径:etc/at.deny ##默认存在无需添加
vim etc/at.deny
##student用户加入黑名单所以没有权限运行at。而kris可以。
##添加用户 一行一个
##保存后黑名单中的用户无法使用at命令但是root用户可以。
用户白名单
白名单路径:etc/at.allow
##默认不存在 要touch
vim
添加用户,添加之后黑名单失效,仅有白名单用户可以执行at命令。
二、定时任务
什么是定时任务?
用户级定时任务
crontab 基于crond.service
systemctl status crond.service查看命服务是否运行
man 5 crontab ##文件格式
crontab -e ##编写文件
-u ##指定执行用户
-r ##删除(清空)文件
-l ##显示文件
*/2 08-17 1,15 3,12 3
表示每个星期三 和三月十二月的第1和15日 早八点到下午五点每个两分中执行一次。
文件所在位置:/var/spool/cron/root
黑白名单与at基本相同
黑:/etc/crond.deny
白:/etc/crond.allow
三、系统级定时任务
任务地址:/etc/cron.d (只有超级用户可写)
文件格式
分种 小时 日 月 周 用户 命令
保存后立即生效(永久定时)并且在crontab下看不到
四、临时文件清理
临时文件策略是什么?
linux系统定期处理工作当中所生成的临时文件。
临时文件策略位置:/usr/lib/tmpfiles.d
.conf为文件时临时文件策略。
实验:
cd /usr/lib/tmpfiles.d/
vim kris.conf ##编写临时文件策略,必须.conf结尾。
编写内容:
d /mnt/kris 1777 root root 20s ##每20秒清理一次mnt/kris 所生成的临时文件。
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
自动完成临时文件存放点。
在存放点里touch临时文件
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*
执行二十秒后文件被自动删除。
完成哦!