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:交互式目录清理工具

相关推荐
bjzhang7514 小时前
CentOS配置SSH免密登录
centos·ssh·免密登录
C-DHEnry14 小时前
Linux 不小心挂载错磁盘导致无法启动系统咋办
linux·运维·服务器·雨云
JosieBook14 小时前
【若依框架】若依前后端分离项目怎么部署到服务器?
运维·服务器
q***74814 小时前
Nginx环境安装
运维·nginx
qinyia14 小时前
使用Wisdom SSH的AI多会话功能进行批量命令执行和跨服务器智能运维
运维·人工智能·ssh
f***686014 小时前
【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则
运维·服务器·安全
安科瑞刘鸿鹏1714 小时前
从监测到保护:ALP如何赋能企业配电柜安全升级?
运维·网络·安全
DeadPool loves Star15 小时前
利用笔记本与SSH转发给服务器上的虚拟机通网
运维·服务器·ssh
hakukun16 小时前
Ubuntu启动时volume报错无法进入系统问题解决
linux·ubuntu
qq_4017004117 小时前
Linux磁盘配置与管理
linux·运维·服务器