磁盘剩余空间大于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

使用说明

  1. 将上述脚本保存为 cleanup.sh

  2. 修改 TARGET_PATH 变量为你需要监控的目录路径。

  3. 给予脚本执行权限:

    copy
    chmod +x cleanup.sh
  4. 运行脚本:

    copy
    ./cleanup.sh

注意事项

  • 在删除目录之前,请确保备份重要数据,因为删除操作是不可恢复的。
  • 可以将该脚本设置为定时任务(通过 cron)实现定期自动清理,确保系统及时释放空间。

mark

copy
0 * * * * /home/yourusername/scripts/cleanup.sh 这里的 0 * * * * 表示每小时的第 0 分钟执行任务
posted @   夷某蓁  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起