系统定时任务及延时任务
1、系统延时任务
at 指定任务执行时间
at hh:mm #小时:分钟
at> 指令
at> <EOF> #这里的<EOF>不是手打的,是<ctrl>+<d>
设定延时任务时间的另一个写法
at now+1min #即一分钟后执行任务
实验在100主机的/mnt目录,实验前先清空/mnt目录,并用watch命令监督/mnt目录
.
at -l ##查看任务列表,显示即将做的任务的序号
at -c 任务号 ##查看任务内容
at -r 任务号 ##取消任务执行
新创建一个延时任务 并查看任务列表能看到任务号
在上面这个任务执行之前
at -c 3 #查看任务内容
at -r 3 #取消任务执行
at任务的黑白名单
-
黑名单
/etc/at.deny ##该文件在系统中是默认存在的,文件中出现的用户不能执行at
-
白名单
-
/etc/at.allow ##该文件在系统中默认不存在,可以自己创建,当文件出现只有在名单中的用户和超级用户可以执行at,且黑名单实效
注:此时westos还在黑名单里
2、系统定时任务
1)crontab 时间表示方式
* * * * * 分别表示:分 时 天 月 周内第几天
例如: */2 * * * * ##每两分钟
*/2 07-17 * * * ##早 7-晚 5 每两分钟
*/2 */2 * * * ##每隔 2 小时每两分钟
*/2 09-17 * * 5 ##每周周五早 9 晚 5
2)crontab 服务
当程序开启crond.service 时定时任务生效
3)crontab 命令
crontab -e -u ##-e表示创建crontab任务,-u表示指定用户
crontab -l -u ##-l表示查看指定crontab任务
crontab -r -u ##-r表示取消crontab任务
任务储存的目录在 /var/spool/cron/root
cat /var/spool/cron/root 也能查看crantab定时任务
4)文件方式设置定时任务
与上面命令不同的是,文件方式设定的定时任务指定了用户
文件要写在 /etc/cron.d/ 目录下
5)crontab的黑白名单
作用与at的黑白名单一样
3、系统中临时文件的管理方式
临时文件:程序运行时所需要的文件,其他时间没有用。当不用时就会被回收。有回收周期。大管家systemd-tmpfiles。
管理临时文件的存储路径
/usr/lib/tmpfiles.d/
#/mnt里的临时文件超过存在时间(5s)后执行删除clean时才能被删除
执行 systemd-tmpflies --create westos.conf 生成/mnt/westos
在/mnt/westos/目录下创建文件westosfile,在5s后执行clean命令,临时文件会被清除
结合系统定时任务,我们可以设置系统每天晚上凌晨定时清除/mnt/westos里的过期临时文件