liunx 定时删除一年半以前指定文件夹以及子文件夹下附件脚本
时间: 2024-12-23 16:14:34 浏览: 8
在Linux中,你可以创建一个shell脚本来定时删除一年半前的文件和子文件夹。这里是一个基本的bash脚本示例,它使用`find`命令配合`date`命令来实现这个功能:
```bash
#!/bin/bash
# 设置删除日期,减去一年半的时间
delete_date=$(date -d "now - 18 months" +%Y-%m-%d)
# 指定要检查的根目录
root_directory="/path/to/your/directory"
# 删除指定日期之前的文件和子目录
find "$root_directory" -type f -name "*.*" -mtime +540 -o \( -type d -empty \) -mtime +540 -exec rm -rf {} \;
# 注释掉 -type f 和 -empty 参数以仅删除空目录
# find "$root_directory" -type d -mtime +540 -exec rmdir {} \;
# 对于非递归删除空目录,可以使用下面这行
# find "$root_directory" -type d -empty -mtime +540 -exec rmdir {} \;
# 540天约等于18个月,可以根据需要调整mtime值
# 这里的-mtime +540 表示查找修改时间超过540天(18个月)的文件和空目录
# 将此脚本保存为例如cleanup.sh,并设置cron任务来定期运行
# crontab -e 添加类似下面的条目来每天凌晨执行清理操作:
# 0 0 * * * /path/to/cleanup.sh
# 记得替换"/path/to/your/directory"为你实际要检查的文件夹路径
```
**
阅读全文