学习目标
- 延时任务
- 定时任务
1.系统延时任务
at 14:48 ##设定任务执行时间
at> rm -fr /mnt/* #任务动作
at><E0T> #按ctrl+d发起任务
at now+1min #延时1分钟
at>rm -fr /mnt/*
at><E0T>
00:21 执行清除/mnt目录中的全部内容
at -l #查看任务列表
at -c 任务号 #查看任务内容
at -r 任务号 #取消任务执行
注意:
当任务有输出时,输出会以邮件的形式发送给at任务的发起者
at now+1min
at>echo hello
at><E0T>
查看邮件:
mail -u root ##查看超级用户的邮件
-l ##查看第一封邮件
-q ##退出
> /var/spool/mail>root #清空邮箱
2.at任务的黑白名单
/etc/at.deny ##系统中默认存在,此文件中出现的用户不能执行at
/etc/at.allow ##系统中默认不存在,当文件出现普通用户不能执行at,只有在名单出现的用户可以,并且/etc/at.deny失效
给at.deny黑名单中加入student用户,student用户无法执行at,westos用户可以。
给at.allow白名单中加入student用户,student用户无法执行at,westos用户可以。
3.系统的定时任务
crontab时间表示方式:
『分时月日周』
* * * * * #每分钟
*/2 * * * * #每两分钟
*/2 09-17 * * * #9-17点每两分钟
*/2 */2 * * * #每隔2小时每两分钟
*/2 09-17 1 3,5 5 #3月和5月 周五 1日 9-17点 每两分钟执行一次
4.系统控制crontab的服务
crond.service #当程序开启时,定时任务生效
服务停止后,定时任务失效
5.crontab命令
crontab -e -u #编辑crontab
-l -u #列出crontab
-r -u #删除crontab
6.文件方式设定定时任务
vim /etc/cron.d/file #file任意名称
* * * * * username action
* * * * * root rm -rf /mnt/*
起一个名为westos的目录
* * * * * root rm-fr /mnt
非交互式:
echo "* * * * * root rm -rf /mnt/*" > /etc/cron.d/westos
这种方式定义的crontab使用crontab -l 看不见
7.crontab的黑白名单
/etc/cron.deny #系统中默认存在,在此文件中出现的用户不能执行crontan
/etc/cron.allow #系统中默认不存在,当文件出现,普通用户不能执行crontab,只有在名单中出现的用户可以,并且/etc/cron.deny失效
#这两个名单都不会影响/etc/cron.d/目录中定时任务的发起和执行
* * * * * westos rm -rf /home/westos/*
8.系统中临时文件的管理方式
cd /usr/lib/tmpfiles.d
vim westos.conf
d /mnt/westos 777 root root 5s
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##读取目录里所有文件并安其规则建立
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清理临时文件
ls /tmp/ #存放临时文件的地方
cd /usr/lib/tmpfiles.d/
vim tmp.conf #修改清理临时文件的时间从10天改为5s一次 发现
光标标黑的为临时文件
临时文件已经删除了