Wan2.2-I2V-A14B自动化运维:编写Shell脚本监控服务与清理C盘 Wan2.2-I2V-A14B自动化运维编写Shell脚本监控服务与清理C盘1. 问题背景与解决方案服务器运维过程中C盘空间不足是个常见但棘手的问题。特别是运行AI模型服务时日志文件、临时数据和Docker容器会快速消耗磁盘空间。如果不及时处理轻则导致服务异常重则可能引发系统崩溃。我们团队在部署Wan2.2-I2V-A14B模型服务时就遇到了这个问题。模型运行一周后C盘使用率就达到了95%服务开始出现异常。经过实践我们开发了一套自动化解决方案通过Shell脚本定期检查磁盘空间、清理无用文件、归档日志并监控服务状态结合crontab实现无人值守运维。这套方案实施后服务器已稳定运行3个月再没出现过磁盘爆满的情况。下面分享具体实现方法这些脚本稍作修改就能用于各种服务运维场景。2. 核心脚本功能设计2.1 磁盘空间监控首先需要一个基础功能检查磁盘使用率。当C盘使用超过阈值比如90%时触发清理流程。这个功能看似简单但要注意几个关键点需要准确获取C盘使用率数据要设置合理的阈值避免频繁触发清理应该记录监控日志方便后续分析#!/bin/bash # 设置阈值百分比 THRESHOLD90 # 获取C盘使用率Linux系统 usage$(df -h / | awk NR2 {print $5} | tr -d %) # 获取C盘使用率Windows系统通过WSL # usage$(df -h /mnt/c | awk NR2 {print $5} | tr -d %) if [ $usage -ge $THRESHOLD ]; then echo $(date %Y-%m-%d %H:%M:%S) - C盘使用率已达${usage}%开始清理... /var/log/disk_clean.log # 触发清理流程 /path/to/clean_script.sh else echo $(date %Y-%m-%d %H:%M:%S) - C盘使用率${usage}%状态正常 /var/log/disk_clean.log fi2.2 智能清理策略清理不是简单删除文件需要有针对性的策略。我们的清理脚本包含以下核心功能Docker系统清理删除无用镜像、停止的容器和悬空卷日志文件处理压缩归档旧日志删除过期的归档临时文件清理删除指定目录下的临时文件服务状态检查重启异常停止的服务#!/bin/bash # Docker系统清理 echo 开始清理Docker无用资源... docker system prune -f # 日志归档与清理 LOG_DIR/var/log/wan2_service ARCHIVE_DIR/data/log_archives # 压缩7天前的日志并移动到归档目录 find $LOG_DIR -name *.log -mtime 7 -exec gzip {} \; find $LOG_DIR -name *.gz -exec mv {} $ARCHIVE_DIR \; # 删除60天前的归档 find $ARCHIVE_DIR -name *.gz -mtime 60 -delete # 清理临时文件 TEMP_DIRS(/tmp /var/tmp) for dir in ${TEMP_DIRS[]}; do find $dir -type f -mtime 3 -delete done # 检查服务状态 if ! systemctl is-active --quiet wan2_service; then echo 检测到wan2_service未运行尝试重启... systemctl restart wan2_service fi echo 清理完成。当前磁盘使用率$(df -h / | awk NR2 {print $5}) /var/log/disk_clean.log3. 自动化部署方案3.1 定时任务配置要让脚本定期自动运行最方便的方式是使用crontab。我们设置每天凌晨3点检查磁盘当使用率超过85%时立即清理避免影响白天服务。# 编辑crontab crontab -e # 添加以下内容每天3点检查磁盘 0 3 * * * /path/to/disk_monitor.sh # 添加以下内容每小时检查一次服务状态 0 * * * * /path/to/service_check.sh3.2 异常报警机制单纯的清理还不够我们需要知道什么时候清理过、效果如何。我们在脚本中添加了邮件通知功能当发生重要操作时发送报警。#!/bin/bash # 邮件报警函数 send_alert() { local subject$1 local body$2 echo $body | mail -s $subject adminexample.com } # 在清理脚本的关键位置添加报警 if [ $usage -ge 95 ]; then send_alert 紧急C盘使用率超过95% 当前C盘使用率已达${usage}%已自动触发清理流程。请检查服务器状态 fi4. 实际效果与优化建议这套方案在我们生产环境部署后效果非常明显。之前每周都需要人工清理磁盘现在完全自动化运行。通过日志分析清理脚本平均每次能释放5-10GB空间确保了服务的持续稳定。对于不同规模的环境我有几点优化建议小型部署可以直接使用上述脚本调整清理频率和阈值即可中型部署建议增加分布式监控集中管理多台服务器的磁盘状态大型集群需要考虑更复杂的策略比如按服务分配磁盘配额实际使用中可能会遇到一些特殊情况比如某些日志文件不能删除或者某些服务需要特殊处理。这时可以修改清理脚本添加白名单或特殊处理逻辑。关键是要先测试再上线避免误删重要文件。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。