磁盘剩余空间大于80%时,删除某个路径下的文件
copy# 使用Shell脚本定期清理包含“202”的目录
## 简介
使用Shell脚本检查磁盘使用情况,并自动删除路径下包含“202”的目录及其内容,。
## 实现
创建一个简单的Shell脚本:
1. **检查磁盘使用情况**:使用`df`命令获取当前磁盘使用率。
2. **条件判断**:如果磁盘使用率超过设定阈值(例如 80%),则执行删除操作。
3. **使用find命令**:查找路径下所有名称包含“202”的目录,并删除它们及其内容。
## 脚本代码
以下是完整的Shell脚本代码:
```bash
#!/bin/bash
# 设置要监控的路径
TARGET_PATH="/path/to/your/directory"
# 获取当前的磁盘使用百分比
USAGE=$(df -h "$TARGET_PATH" | awk 'NR==2 {print $5}' | sed 's/%//g')
# 设置阈值
THRESHOLD=80
# 检查磁盘使用情况
if [ "$USAGE" -gt "$THRESHOLD" ]; then
echo "磁盘使用率为 ${USAGE}%,超过阈值 ${THRESHOLD}%。正在删除 ${TARGET_PATH} 下包含 '202' 的目录及其内容。"
# 查找并删除包含 '202' 的目录
find "$TARGET_PATH" -type d -name '*202*' -exec rm -rf {} +
else
echo "磁盘使用率为 ${USAGE}%,未超过阈值 ${THRESHOLD}%。不进行删除。"
fi
使用说明
-
将上述脚本保存为
cleanup.sh
。 -
修改
TARGET_PATH
变量为你需要监控的目录路径。 -
给予脚本执行权限:
copychmod +x cleanup.sh
-
运行脚本:
copy./cleanup.sh
注意事项
- 在删除目录之前,请确保备份重要数据,因为删除操作是不可恢复的。
- 可以将该脚本设置为定时任务(通过
cron
)实现定期自动清理,确保系统及时释放空间。
mark
。
copy0 * * * * /home/yourusername/scripts/cleanup.sh
这里的 0 * * * * 表示每小时的第 0 分钟执行任务
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人