前言
本章主要学习linux中定时任务与延时任务的设定、查看以及删除。
一、定时任务
man 5 crontab 查看crontab 使用方法
同样设定监控对/mnt中的测试文件进行监控
crontab -u root
crontab -e 设定定时任务
crontab -l 查看定时任务
表示4月22日每周四的14:03,对/mnt 文件夹清理一次
crontab -r 删除定时任务
任务保存地址:var/spool/cron
/etc/cron.deny 与at黑白名单类似 但都不会影响/etc/cron.d 目录中定时任务的发起及执行
/etc/cron.allow
系统级别的crontab设定
/etc/cron.d
创建文件编写格式:
* * * * * root rm -fr /mnt/*
表示每分钟对/mnt/文件夹清理一次
临时文件的清理
/lib/tmpfiles.d/ 临时文件存储地
vim westos.conf 编写临时文件固定格式
d /mnt/westos 1777 root root 7s 表示临时文件为目录 权限为1777 拥有者和拥有组为root 有效时长为7s
systemd-tmpfiles --create /lib/tmpfiles.d/westos.conf
生效临时文件
systemd-tmpfiles --clean /lib/tmpfiles.d/westos.conf
清理临时文件,
注:文件有效期未过,生成文件不能被清理。
二、延迟任务
延迟任务格式:
at time
命令
ctrl+d 释放命令名行并发起任务
监控/mnt 文件夹 对其进行操作 观察延迟任务效果
设定其再两分钟后清空/mnt文件夹
at -l 查看任务
at -c 2 查看2号任务详细内容
at -r 1 取消任务执行
at命令黑白名单
/etc/at.deny 延时任务执行黑名单
如图,加入黑名单后,用户延迟操作不被允许。
/etc/at.allow 除超级用户和名单内的用户外,所有用户执行at权力将被禁止;此文件出现,黑名单将不生效