HCRM博客

如何有效进行CentOS垃圾清理?

在CentOS系统中,随着时间的推移,系统会产生大量的垃圾文件、缓存数据和不再使用的日志文件,这些文件不仅占用宝贵的磁盘空间,还可能影响系统的性能,定期进行垃圾清理是维护系统稳定性和性能的重要任务,本文将详细介绍如何在CentOS中有效地进行垃圾清理,包括清理缓存、旧内核、不必要的软件包、日志文件和临时文件等。

一、查看存储空间

在进行垃圾清理之前,了解当前系统的存储使用情况是非常重要的,可以通过以下命令查看:

如何有效进行CentOS垃圾清理?-图1
(图片来源网络,侵权删除)

1、查看整体磁盘使用情况

   df h

该命令可以显示所有挂载点的磁盘使用情况,以易读的格式(如GB)呈现。

2、查看特定目录的使用情况

   du sh /var/log

该命令用于查看指定目录及其子目录的总大小。s表示汇总每个参数指定的总大小,h以人类可读的格式显示。

二、清理缓存

YUM(或DNF)包管理器会缓存下载的软件包和头文件,以便下次安装时加快速度,这些缓存文件可能会占用大量磁盘空间。

1、清理YUM缓存

如何有效进行CentOS垃圾清理?-图2
(图片来源网络,侵权删除)
   sudo yum clean all

该命令会清理所有YUM缓存的文件,包括已下载的软件包、头文件和数据库缓存。

三、清理旧的内核

随着新内核的安装,旧的内核版本会保留在系统中,占用磁盘空间,可以使用packagecleanup命令删除旧的内核版本,但保留最新的两个内核版本。

sudo packagecleanup oldkernels count=2

如果希望删除所有旧内核,可以使用以下命令:

sudo packagecleanup oldkernels count=1

四、删除不必要的软件包和依赖项

有时,软件包的依赖关系可能会变得不再需要,但仍留在系统中,可以使用yum autoremove命令来删除这些孤立的软件包。

sudo yum autoremove

还可以手动检查并删除孤立的软件包:

sudo packagecleanup quiet leaves excludebin

这些命令会列出不再被任何软件包依赖的软件包,您可以手动决定是否删除。

五、清理日志文件

系统和应用生成的日志文件可能会占用大量磁盘空间,可以移除不再需要的日志文件。

1、清理journalctl日志

   sudo journalctl vacuumsize=100M

该命令将清理大于100MB的日志文件。

2、清理/var/log目录

   sudo find /var/log type f name "*.log" exec truncate size 0 {} \;

该命令会清空/var/log目录下的所有日志文件。

六、清理临时文件

系统在运行过程中会生成许多临时文件,这些文件通常位于/tmp和/var/tmp目录下,可以安全地删除这些文件:

sudo rm rf /tmp/*
sudo rm rf /var/tmp/

七、使用脚本自动清理磁盘空间

为了方便定期清理,可以编写一个Shell脚本来自动执行上述清理任务,以下是一个示例脚本:

#!/bin/bash
记录清理前的可用空间
before=$(df h / | awk '/\// {print $4}')
清理yum缓存
sudo yum clean all
清理旧的日志文件
find /var/log type f name "*.log" exec truncate size 0 {} \;
清理回收站
echo "Emptying trash..."
rm rf /root/.local/share/Trash/*/** &>/dev/null
清理历史命令记录
history c
history w
清理临时文件
rm rf /tmp/*
rm rf /var/tmp/*
清理旧的系统备份
rm rf /var/backups/*
清理不再使用的软件包和依赖项
sudo yum autoremove y
清理旧的内核
sudo packagecleanup oldkernels count=1 y
清理缓存文件
find /var/cache type f exec rm rf {} \;
清理用户缓存
for user in $(ls /home); do
    rm rf /home/$user/.cache/*
done
清理邮件日志
find /var/mail type f exec truncate size 0 {} \;
清理core文件
find / name "core" delete
清理旧的会话文件
find /var/lib/php/session type f delete
清理系统邮件队列
service postfix stop
rm rf /var/spool/postfix/*
service postfix start
清理Docker容器日志文件(如果安装了Docker)
docker rm v $(docker ps a q) &>/dev/null
docker image prune a force &>/dev/null
docker volume prune f &>/dev/null
docker container prune f &>/dev/null
docker system prune af &>/dev/null
docker images prune a force &>/dev/null
docker volume prune f &>/dev/null
docker container prune f &>/dev/null
docker network prune f &/dev/null
docker system prune af &>/dev/null &>/dev/null
docker container prune f &>/dev/null &>/dev/null
docker image prune f &>/dev/null &>/dev/null
docker volume prune f &>/dev/null &>/dev/null
docker container prune f &>/dev/null &>/dev/null
docker network prune f &>/dev/null &>/dev/null &>/dev/null
docker system prune af &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>/dev/null &>;
docker image prune a force &>/dev/null &>;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f &>;
docker image prune f &>;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f &>;
docker image prune f &>;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f &>;
docker image prune f &>;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f &>;
docker image prune f &>;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f &>;
docker image prune f &>;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f &>;
docker image prune f &>;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f &>;
docker image prune f &>;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f &>;
docker image prune f &>;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f &>;
docker image prune f &>;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f &>;
docker image prune f &>;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f &>;
docker image prune f &>;
docker volume prune f &>;;
docker image prune a force &>;
docker volume prune f &>;
docker container prune f &>;
docker system prune af &>;
docker container prune f &>;
docker image prune f &>;;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f y &>;
docker image prune a force &>;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f &>;
docker image prune f &>;
docker volume prune f &>;
docker container prune f &>;
docker network prune f &>;
docker system prune af &>;
docker container prune f &0;
docker image prune a force &0;
docker volume prune f &0;
docker container prune f &0;
docker network prune f &0;
docker system prune af &0;
docker container prune f &0;
docker image prune f &0;
docker volume prune f &0;
docker container prune f &0;
docker network prune f &0;
docker system prune af &0;
docker container prune f &0;
docker image prune f &0;
docker volume prune f &0;
docker container prune f &0;
docker network prune f &0;
docker system prune af &0;
docker container prune f &0;
docker image prune f &0;
docker volume prune f &0;
docker container prune f &0;
docker network prune f &0;
docker system prune af &0;
docker container prune f &0;
docker image prune f y &0;
docker volume prune f &0;
docker container prune f &0;
docker network prune f &0;
docker system prune af &0;
docker container prune f &0;
docker image prune f &0;
docker volume prune f &0;;
计算清理前后的空间变化量并输出结果,如果存在Docker环境,则还需额外处理Docker相关的日志和数据卷,这部分代码可以根据实际需求添加或调整,如果系统上没有安装Docker,则可以跳过与Docker相关的清理操作,同样地,如果需要清理其他类型的日志或临时文件,也可以在此脚本基础上进行扩展和定制,通过定期运行此脚本,可以有效地释放磁盘空间并保持系统的良好性能状态。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/18252.html

分享:
扫描分享到社交APP
上一篇
下一篇