延迟和定时任务

准备工作:
创建两个用户tony和pake
在这里插入图片描述

1.延迟任务

cd /mnt/
touch westos{1…5}
在这里插入图片描述
watch -n 1 ls /mnt/
在这里插入图片描述
at 05:00
at>rm fr /mnt/*
在这里插入图片描述
看监控发现05:00以后 确实删除/mnt/下的文件
在这里插入图片描述
at now+15min
at> poweroff ##一分后重启系统
在这里插入图片描述
ctrl d 延迟命令发起
at -l ##查看延迟任务有哪些
在这里插入图片描述
at -c ##延时任务内容
在这里插入图片描述
at -r 3 ##删除延迟任务2
在这里插入图片描述
在这里插入图片描述

禁止某个用户执行at命令
/etc/at.allow如果存在 只有在白名单生效,黑名单失效
/etc/at.deny at黑名单
在这里插入图片描述
把tony用户加到at黑名单
在这里插入图片描述
su - tony
at now+1min
在这里插入图片描述
You do not have permission to use at
##tony用户在at黑名单里无法使用at命令
su - pake
at now+1min
at> echo hellow
ctrl+d ##pake用户可以使用at命令
在这里插入图片描述
ll /etc/at.allow ##at白名单本来是不存在的
No such file or directory
在这里插入图片描述
vim /etc/at.allow ##建立at白名单
把tony用户加到at白名单
在这里插入图片描述
su - tony
at now+1min
at> echo hellow
ctrl+d ##tony用户可以使用at命令
在这里插入图片描述
su - pake
at now+1min
You do not have permission to use at
##pake用户在不在at白名单无法使用at命令
在这里插入图片描述

2.定时任务

crontab -u root -e ##root用户执行定时任务
在这里插入图片描述
内容:* * * * * rm -fr /mnt/* ##每隔一分钟删除一次/mnt/*
内容:/2 * * * * rm -fr /mnt/ ##每隔两分钟删除一次/mnt/*
内容:/2 07,16 * * * rm -fr /mnt/ ##早上7点和下午四点每隔两分钟删除一次/mnt/*
内容:/2 07-16 * * * rm -fr /mnt/ ##从早上7点到下午四点每隔两分钟删除一次/mnt/*
内容:/2 07-16 1,15 * 2 rm -fr /mnt/
##每个月的1号和15号和每个周二从早上7点到下午四点每隔两分钟删除一次/mnt/*
内容:/2 07-16 1,15 7 2 rm -fr /mnt/
##7月的1号和15号和每个周二从早上7点到下午四点每隔两分钟删除一次/mnt/*
crontab -u root -l ##查看root用户执行定时任务
crontab -u root -r ##删除root用户执行定时任务

root用户 cd /mnt touch file{a…d}
在这里插入图片描述
watch -n 1 ls /mnt
在这里插入图片描述
crontab -u root -e ##root用户执行定时任务
内容:* * * * * rm -fr /mnt/* ##每隔一分钟删除一次/mnt/*
在这里插入图片描述
watch -n 1 ls /mnt
在这里插入图片描述
crontab -u root -l
##查看root用户执行定时任务里边可以看到root用户的定时任务
在这里插入图片描述
crontab -u root -r ##删除root用户执行定时任务
crontab -u root -l ##查看root用户执行定时任务里边没有root用户的定时任务,因为定时任务被删除了
在这里插入图片描述
vim /etc/cron.deny ##定时任务命令黑名单
把tony用户加到黑名单里
在这里插入图片描述
su - tony
crontab -e
tony不被允许使用定时命令
在这里插入图片描述

把tony用户加到定时任务命令白名单
在这里插入图片描述
root用户下执行 crontab -u tony -e ##root用户创建tony用户的定时任务命令,tony用户无论在不在黑名单上都可以使用定时任务命令
touch /etc/cron.allow ##创建定时任务命令白名单
vim /etc/cron.allow ##编辑定时任务命令白名单
在这里插入图片描述
su - tony
crontal -e ##tony用户在定时任务命令白名单里,可以执行定时命令任务
在这里插入图片描述
系统级
cd /etc/cron.tab补齐
在这里插入图片描述
cd /etc/cron.d ##系统每分钟所做的
在这里插入图片描述
在这里插入图片描述
cd /etc/cron.daily ##系统每天所做的
cd /etc/cron.hourly ##系统每小时所做的
cd /etc/cron.monthly ##系统每月所做的
cd /etc/cron.weekly ##系统每周所做的

用户级
cd /etc/cron.d
vim tony
在这里插入图片描述
内容:* * * * * root rm -fr /mnt/*
注意指定root
在这里插入图片描述
测试:
touch /mnt/file{1…3}
watch -n 1 ls /mnt/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.设置临时文件的生命周期

临时文件:不能随便被清理的
设置临时文件的生命周期

cd /usr/lib/tmpfiles.d
在这里插入图片描述
vim tmp.conf ##可以看到系统清理临时文件的格式
vim tony.conf ##设置自己的清理临时文件的配置文件
d /mnt/tony 777 root root 8s
格式 生成临时目录 权限 多久生效
在这里插入图片描述
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
在这里插入图片描述
mkdir /mnt/tony
touch /mnt/tony/file
在这里插入图片描述
watch -n 1 ls -lR /mnt/ ##递归监控/mnt目录下的目录或者文件
可以看到file
在这里插入图片描述
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*
监控发现/mnt/westos/file被删除了
在这里插入图片描述
实现效果明显:
mkdir /mnt/tony
touch /mnt/tony/file
touch /mnt/tony/file2
在这里插入图片描述
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清除8秒之前临时文件
监控发现/mnt/tony/file被删除,而/mnt/westos/file2没有删除,file2因为不是8秒之前的建立的临时文件
在这里插入图片描述
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##再次清除8秒之前临时文件
过了一会,监控发现/mnt/tony/file2也被删除了,因为file2此刻已经是8s之前建立的临时文件
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值