news 2026/5/26 10:22:58

Linux 服务器磁盘满了?教你快速找到大文件,安全删掉不踩坑!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux 服务器磁盘满了?教你快速找到大文件,安全删掉不踩坑!

1. 磁盘空间检查基础命令

1.1 查看磁盘使用情况

# 查看所有挂载点的磁盘使用情况 df -h # 查看指定目录的磁盘使用情况 df -h /home

1.2 查找大文件和目录

# 查找当前目录下大于100MB的文件 find . -type f -size +100M -exec ls -lh {} \; # 查找根目录下大于1GB的文件 find / -type f -size +1G -exec ls -lh {} \;

2. 高级大文件查找方法

2.1 使用du命令

# 查看当前目录下最大的10个目录 du -sh * | sort -rh | head -10 # 查看根目录下最大的10个目录 du -sh /* | sort -rh | head -10 # 查看特定目录下的大文件 du -ah /var/log | sort -rh | head -20

2.2 综合查找脚本

#!/bin/bash # 查找系统中最大的文件和目录 echo "=== 最大的10个目录 ===" du -h / 2>/dev/null | sort -hr | head -10 echo -e "\n=== 最大的10个文件 ===" find / -type f -size +100M 2>/dev/null | xargs ls -lh | sort -k5 -hr | head -10

3. 常见大文件类型分析

3.1 日志文件清理

# 查看日志目录大小 du -sh /var/log/* # 清理旧的日志文件(保留最近7天) find /var/log -name "*.log" -mtime +7 -delete # 压缩旧日志文件 find /var/log -name "*.log" -mtime +3 -exec gzip {} \;

3.2 缓存文件清理

# 查看缓存目录大小 du -sh /tmp /var/tmp /var/cache/* # 清理临时文件 rm -rf /tmp/* rm -rf /var/tmp/* # 清理包管理器缓存 yum clean all # CentOS/RHEL apt-get clean # Ubuntu/Debian

4. 实用清理脚本

4.1 自动化清理脚本

#!/bin/bash # disk_cleanup.sh - 自动清理大文件脚本 LOG_FILE="/var/log/disk_cleanup.log" # 记录日志函数 log_message() { echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> $LOG_FILE } # 检查磁盘使用率 check_disk_usage() { local usage=$(df / | awk 'NR==2 {print $5}' | sed 's/%//') if [ $usage -gt 80 ]; then log_message "警告:磁盘使用率过高: ${usage}%" return 1 fi return 0 } # 清理日志文件 cleanup_logs() { log_message "开始清理日志文件..." # 删除超过30天的日志 find /var/log -name "*.log" -mtime +30 -delete # 压缩旧日志 find /var/log -name "*.log" -mtime +7 -exec gzip {} \; log_message "日志清理完成" } # 清理临时文件 cleanup_temp() { log_message "开始清理临时文件..." # 清理过期的临时文件 find /tmp -type f -mtime +1 -delete find /var/tmp -type f -mtime +1 -delete log_message "临时文件清理完成" } # 主执行流程 main() { log_message "=== 开始磁盘清理任务 ===" if check_disk_usage; then cleanup_logs cleanup_temp log_message "=== 磁盘清理任务完成 ===" else log_message "磁盘使用率过高,跳过清理操作" fi } main

4.2 定时清理任务

# 添加到crontab中定期执行 # 每周日凌晨2点执行清理 0 2 * * 0 /path/to/disk_cleanup.sh # 每天凌晨3点检查磁盘使用情况 0 3 * * * df -h | grep -E "(Filesystem|/)" > /tmp/disk_usage.txt

5. 安全清理注意事项

5.1 清理前检查

# 查看文件详细信息,避免误删重要文件 ls -la /var/log/ ls -la /tmp/ # 查看文件权限和所有者 ls -l /var/log/messages

5.2 验证清理操作

# 使用dry-run模式预览将要删除的文件 find /var/log -name "*.log" -mtime +7 -print # 先备份再删除 cp /var/log/syslog /var/log/syslog.backup rm /var/log/syslog

6. 监控和预警

6.1 磁盘监控脚本

#!/bin/bash # disk_monitor.sh - 磁盘监控脚本 THRESHOLD=80 EMAIL="admin@example.com" # 检查磁盘使用率 check_disks() { df -h | grep -vE '^Filesystem|tmpfs|cdrom' | while read line; do usage=$(echo $line | awk '{print $5}' | sed 's/%//') partition=$(echo $line | awk '{print $1}') mount_point=$(echo $line | awk '{print $6}') if [ $usage -gt $THRESHOLD ]; then echo "警告:$mount_point 磁盘使用率 $usage%" # 发送邮件通知 echo "磁盘使用率过高,请及时处理" | mail -s "磁盘警告" $EMAIL fi done } check_disks

6.2 创建监控服务

# 创建systemd服务用于定时监控 cat > /etc/systemd/system/disk-monitor.service << EOF [Unit] Description=Disk Usage Monitor After=network.target [Service] Type=oneshot ExecStart=/usr/local/bin/disk_monitor.sh User=root [Install] WantedBy=multi-user.target EOF # 启用服务 systemctl enable disk-monitor.service

7. 常见问题解决

7.1 已删除但仍在使用的文件

# 查找已删除但仍被进程占用的文件 lsof +L1 # 重启相关服务释放文件 systemctl restart nginx systemctl restart httpd

7.2 大文件恢复

# 如果误删了重要文件,可以尝试使用以下方法: # 1. 使用testdisk或photorec恢复 # 2. 检查是否有备份 # 3. 检查文件系统日志 journalctl -f

8. 最佳实践建议

  1. 定期监控:设置定期的磁盘使用情况检查
  2. 备份重要数据:清理前确保重要数据已备份
  3. 分步清理:先小范围测试,再大规模执行
  4. 记录操作:详细记录清理过程和结果
  5. 设置阈值:建立合理的磁盘使用率预警机制

通过以上方法,可以有效地管理和维护Linux服务器的磁盘空间,确保系统稳定运行。

行业拓展

分享一个面向研发人群使用的前后端分离的低代码软件——JNPF。

基于 Java Boot/.Net Core双引擎,它适配国产化,支持主流数据库和操作系统,提供五十几种高频预制组件,内置了常用的后台管理系统使用场景和实用模版,通过简单的拖拉拽操作,开发者能够高效完成软件开发,提高开发效率,减少代码编写工作。

JNPF基于SpringBoot+Vue.js,提供了一个适合所有水平用户的低代码学习平台,无论是有经验的开发者还是编程新手,都可以在这里找到适合自己的学习路径。

此外,JNPF支持全源码交付,完全支持根据公司、项目需求、业务需求进行二次改造开发或内网部署,具备多角色门户、登录认证、组织管理、角色授权、表单设计、流程设计、页面配置、报表设计、门户配置、代码生成工具等开箱即用的在线服务。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 7:19:43

LobeChat能否集成TTS语音合成?语音输出实现路径

LobeChat能否集成TTS语音合成&#xff1f;语音输出实现路径 在智能对话系统逐渐从“能说会写”迈向“有声有色”的今天&#xff0c;用户对交互体验的期待早已超越了纯文本的边界。尤其是在车载导航、老年陪伴、无障碍访问等场景中&#xff0c;“听懂AI的回答”比“看到AI的回答…

作者头像 李华
网站建设 2026/5/26 7:17:42

Dify平台在教育领域AI助教系统中的应用设想

Dify平台在教育领域AI助教系统中的应用设想 如今&#xff0c;越来越多的学生在课后提问&#xff1a;“这道题老师讲过&#xff0c;但我还是不会。”而教师也常面临“同一个问题被反复问十几次”的困境。这种信息不对称与教学资源有限的矛盾&#xff0c;在大班制教育中尤为突出…

作者头像 李华
网站建设 2026/5/25 19:10:25

生物信息分析高手私藏代码(R语言代谢组完整流程大公开)

第一章&#xff1a;R语言代谢组学分析概述R语言作为统计计算与数据可视化的强大工具&#xff0c;在生物信息学领域尤其是代谢组学分析中发挥着核心作用。其丰富的扩展包生态系统支持从原始数据预处理到多元统计建模、通路富集分析及高质量图形输出的全流程操作&#xff0c;极大…

作者头像 李华
网站建设 2026/5/26 5:33:04

平台与独立站双轨并行:跨境电商多元化渠道布局与风险对冲策略

在跨境电商 “渠道依赖风险加剧、流量成本高企” 的当下&#xff0c;“单靠平台打天下” 或 “孤注一掷做独立站” 的模式均难以为继。平台与独立站双轨并行&#xff0c;既是 “快速起量” 与 “长期建牌” 的平衡&#xff0c;更是 “分散风险” 与 “提升抗周期能力” 的核心解…

作者头像 李华
网站建设 2026/5/26 5:34:03

为什么你的回归分析总出错?:临床数据中因果推断的R语言正解

第一章&#xff1a;为什么你的回归分析总出错&#xff1f;&#xff1a;临床数据中因果推断的R语言正解 在临床研究中&#xff0c;回归分析常被用于探索变量之间的关系&#xff0c;但许多分析结果却因混淆偏倚、模型误设或忽略因果结构而产生误导。关键问题在于&#xff1a;传统…

作者头像 李华
网站建设 2026/5/26 5:33:49

构建可扩展量子模拟器的R语言秘籍(仅限高级开发者)

第一章&#xff1a;多qubit量子模拟的R语言架构设计 在构建多qubit量子系统模拟器时&#xff0c;R语言凭借其强大的矩阵运算能力和可扩展的函数式编程范式&#xff0c;成为实现量子态演化与测量的有效工具。设计一个模块化的架构&#xff0c;能够清晰分离量子态初始化、门操作应…

作者头像 李华