- 查找和删除超过5天的目录
#find
? find . -type d -mtime +5 -exec ls -ld {} \;
#delete
? find . -type d -mtime +5 -exec rm -v {} \;
如何使用定时任务查找并删除旧文件或目录?
上面的方法可以手动清理旧文件,但有时我们希望自动执行此操作,例如每天凌晨1点执行清理操作。
此时,我们需要使用linux crontab命令。
1.将上述命令写成shell 脚本并授予可执行权限
? vim scheduledCleanFiles.sh
#!/bin/bash
find /var/log/ -type f -mtime +5 -exec rm -rf {} \;
find /var/log/ -type d -mtime +5 -exec rm -rf {} \;
? chmod +x scheduledCleanFiles.sh
2.配置crontab计划的任务,使其每天凌晨1点运行
? vim /etc/crontab
0 1 * * * ylspirit /usr/bin/sh /home/ylspirit/scheduledCleanFiles.sh
当然,也可以把要执行的命令直接配置到contab文件中。
0 1 * * * ylspirit find /home/ylspirit/ -type f -mtime +5 -exec rm -rf {} \;
OK
到这里就可以完成对历史文件或目录的清除工作了。