一、延迟命令 at
1.系统的延迟命令
at 时间
在/mnt 下新建文件touch /mnt/file{1..6}
watch -n 1 'ls -l /mnt'用监控命令监控
在另外的shell中测试:
第一种编辑方式:
at 21:27
at> rm -fr /mnt/*
at> <EOT> ctrl+d 执行发起延迟
at -l 查看延迟命令
at -c 1 延迟查看内容 为执行 rm -fr /mnt/*
第二种编辑方式:
at now+2min
at> echo hello
at> <EOT> ctrl+d 执行
at -r 4 撤销延迟命令
当切换到其他用户时
su - tom 切换其他用户也可执行at延时命令
at now+1min
at> echo hello
at> <EOT>
at -l 查看
二、系统延迟命令的黑白名单
vim /etc/at.deny at延迟黑名单
vim /etc/at.allow at延迟命令白名单
编辑vim /etc/at.deny 延迟命令的黑名单 写入的用户无法执行延迟命令
例如写入了student用户该用户无法执行at延迟命令
在系统中建立该文件,当该文件出现 所有用户默认为黑名单无法执行at延迟命令touch /etc/at.allow
当编辑vim /etc/at.allow文件写入用户用户便可以执行at延迟命令(at延迟命令的白名单)
编辑vim /etc/at.allow
例如编辑vim /etc/at.allow写入 student用户 student用户可以执行at延迟命令
删除该文件rm -fr /etc/at.allow
三、系统的定时命令
systemctl status crond.service 查看状态
crontab -e 编辑
分钟 小时 天 月 周
* * * * * 每天每分钟
* 08-17 * * * 每天的早上8点到下午5点
*/2 08-17 * * * 每天的早上8点到下午5点每两分钟
*/2 08-17 1,15 * * 每月的1号和15号的早上8点到下午5点每两分钟
*/2 08-17 1,15 10-12 * 10月到12月的1号和15号的早上8点到下午5点每两分钟
*/2 08-17 1,15 10-12 3 10月到12月的每周周三和1号和15号的早上8点到下午5点每两分钟
crontab -e
* * * * * rm -fr /westos/*
cat /var/spool/cron/root
crontab -l 查看
crontab -u root -r 撤销定时
crontab -l查看
crontab -u student -e
root用户指定student用户发起定时任务
crontab -u student -l
查看定时任务
crontab -u student -r
撤销定时任务
四、系统定时命令的黑白名单
vim /etc/cron.deny 系统定时任务黑名单
vim /etc/cron.allow 系统定时任务白名单
vim /etc/cron.deny 编辑定时任务黑名单写入普通用户student
测试student用户不可以执行定时任务
再次编辑vim /etc/cron.deny清空写入的内容
定时命令黑名单:
touch /etc/cron.allow新建文件该文件出现系统中默认所有用户不可以执行定时任务(定时任务白名单)
测试:
vim /etc/cron.allow编辑该文件写入student
测试:student用户可以执行定时任务,其他用户不可以。
测试:
ll /etc/cron.deny 查看
ll /etc/cron.allow 查看
rm -fr /etc/cron.allow 删除该文件
五、系统级的定时任务
进入cd /etc/cron.d目录
ls查看
自己编辑一个 vim westos
里面写入
ls查看
cat westos 查看westos下的内容
* * * * * root rm -fr /westos/*
systemctl stop crond.service当关闭服务系统级不执行,当下次开机时立即执行
systemctl start crond.service 开启服务
六、清理系统中的临时文件
实验时在另外的shell中执行监控命令
watch -n 1 'ls -lR /westos/'
cd /usr/lib/tmpfiles.d/ 切换环境
ls
编辑vim westos.conf
d /westos/test 777 root root 10s 在westos下建立test 且权限为777 10秒清理一次
cat westos.conf 查看内容
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*生成一个临时目录
touch /westos/test/file 在westos目录下建立文件
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*清理目录中的文件,文件超过10秒将会被清理
touch /westos/test/file 继续建立文件查看实验效果使得在清理文件时file超过10s而file1没有超过
touch /westos/test/file1
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*清理超过10秒的文件