CentOS 清理技巧

1. 查看磁盘使用情况(补充)

  • 查看 inode 使用情况,避免因 inode 用尽导致写入失败:

    复制代码
    df -i
  • 排序显示当前目录下各文件夹所占空间:

    复制代码
    du -sh * | sort -hr | head -n 20

2. 清理日志文件(增强)

  • 对 gzip 压缩的旧日志也清理:

    复制代码
    find /var/log -name "*.gz" -mtime +30 -exec rm -f {} \;
  • 定期压缩 + 删除旧日志建议结合 logrotate:

    • 示例配置:/etc/logrotate.d/custom

      复制代码
      /var/log/*.log {
          weekly
          rotate 4
          compress
          missingok
          notifempty
          create 0640 root utmp
      }

3. 清理 YUM 缓存(补充)

  • 检查 yum 缓存目录大小:

    复制代码
    du -sh /var/cache/yum
  • 使用 dnf 替代(CentOS 8 以上):

    复制代码
    dnf clean all

4. 删除孤立包与无用依赖

  • 安装 yum-utils(提供 package-cleanup 工具):

    复制代码
    sudo yum install -y yum-utils

5. 删除旧内核(补充自动化)

  • 确保当前使用的内核不会被删除:

    复制代码
    uname -r
  • 自动清理旧内核设置脚本(推荐加到定期任务):

    复制代码
    package-cleanup --oldkernels --count=2 -y

6. 清理临时与缓存文件(扩展)

  • 清理 .cache.thumbnails 等目录:

    复制代码
    rm -rf ~/.cache/*
    rm -rf ~/.thumbnails/*
  • 清理系统缓存目录:

    复制代码
    sudo rm -rf /var/tmp/*

7. 清理内存缓存(改进)

  • 推荐写入脚本后使用 sudo bash 执行:

    复制代码
    sync && echo 3 > /proc/sys/vm/drop_caches

8. 清理 Docker 资源(增强)

  • 一条命令清理所有未使用资源(谨慎使用):

    复制代码
    docker system prune -a --volumes
  • 查看磁盘占用情况(Docker):

    复制代码
    docker system df

9. 使用磁盘分析工具(补充)

  • 其他可视化工具:

    • baobab(需图形界面)

    • filelight

  • 安装 duf 代替 df,可读性强:

    复制代码
    curl -s https://api.github.com/repos/muesli/duf/releases/latest | grep browser_download_url | grep linux_amd64.rpm | cut -d '"' -f 4 | wget -qi -
    sudo rpm -ivh duf*.rpm
    duf

10. 定时清理脚本(示例)

  • 示例 crontab 每周清理脚本:

    复制代码
    sudo crontab -e

    添加:

    复制代码
    0 3 * * 0 /usr/local/bin/cleanup.sh
  • cleanup.sh 内容示例:

    复制代码
    #!/bin/bash
    yum clean all
    rm -rf /tmp/*
    rm -rf /var/tmp/*
    find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;
    package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
    package-cleanup --oldkernels --count=2 -y
    docker system prune -af --volumes
    sync && echo 3 > /proc/sys/vm/drop_caches

    别忘给脚本加执行权限:

    复制代码
    chmod +x /usr/local/bin/cleanup.sh

11. 额外建议(可选优化)

  • 删除不必要的软件包

    复制代码
    yum autoremove
  • 启用 noatime 挂载选项 :减少磁盘 IO(编辑 /etc/fstab

  • 监控工具推荐

    • iotop:查看磁盘 IO 活跃进程

    • glances:综合性能监控

    • ncdu:交互式目录清理工具

相关推荐
FL16238631292 分钟前
[ubuntu][C++]onnxruntime安装cpu版本后测试代码
linux·c++·ubuntu
逻辑羊驼9 分钟前
VSCode+MobaXterm+X11可视化界面本地显示
运维·服务器·ubuntu·3d
fendouweiqian30 分钟前
nginx 反向代理使用变量的坑
运维·nginx
Zacks_xdc30 分钟前
【前端】使用Vercel部署前端项目,api转发到后端服务器
运维·服务器·前端·安全·react.js
W-GEO32 分钟前
Nginx 高性能调优指南:从配置到原理
运维·nginx
pound1271 小时前
Linux
linux·运维·服务器
@CLoudbays_Martin111 小时前
为什么动态视频业务内容不可以被CDN静态缓存?
java·运维·服务器·javascript·网络·python·php
盟接之桥3 小时前
盟接之桥说制造:在安全、确定与及时之间,构建品质、交期与反应速度的动态平衡
大数据·运维·安全·汽车·制造·devops
learning_tom3 小时前
HTML图片标签及路径详解
linux·服务器·php
dbdr09013 小时前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十六天
linux·运维·服务器·网络·python·学习