服务器磁盘清理

当服务器磁盘满了时,需要有条不紊地排查并清理不必要的文件和数据。以下是逐步的排查和清理步骤以及每一步的具体指令:

1. 检查磁盘使用情况

首先,检查哪些目录和文件占用了大量空间。

检查磁盘使用情况

df -h

这个命令会显示所有文件系统的使用情况。

查找占用空间最大的目录

du -h --max-depth=1 / | sort -h

从根目录开始,查找哪个一级目录占用最多空间。可以逐层深入,例如:

du -h --max-depth=1 /var | sort -h

2. 清理日志文件

日志文件可能会占用大量空间,特别是在 /var/log 目录下。

查看日志目录

cd /var/log
ls -lh

清理日志文件

清空大日志文件而不删除文件:

> large_log_file.log

或者删除旧的日志文件:

rm -f old_log_file.log

3. 清理缓存

清理 APT 缓存(适用于 Debian/Ubuntu)

sudo apt-get clean

清理 Yum 缓存(适用于 CentOS/RHEL)

sudo yum clean all

4. 删除无用的文件和目录

查找和删除大文件

查找大于 100MB 的文件:

find / -type f -size +100M

根据需要删除无用的大文件:

rm -f /path/to/large/file

5. 清理 Docker 占用的空间

删除停止的容器

docker container prune

删除无用的镜像

docker image prune -a

删除无用的数据卷

docker volume prune

删除无用的网络

docker network prune

删除所有未使用的 Docker 资源

docker system prune -a

6. 清理临时文件

清理系统临时文件

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

7. 检查和清理用户目录

用户目录下也可能有大量无用文件,如下载的安装包、临时文件等。

查找并删除大文件

find /home -type f -size +100M

根据需要删除无用的大文件:

rm -f /home/user/large_file

8. 卸载不再需要的软件包

卸载不再需要的软件包可以释放一些空间。

列出已安装的软件包

dpkg-query -l | less  # 适用于 Debian/Ubuntu
rpm -qa | less        # 适用于 CentOS/RHEL

卸载软件包

sudo apt-get remove package_name  # 适用于 Debian/Ubuntu
sudo yum remove package_name      # 适用于 CentOS/RHEL

总结

通过以上步骤,可以有效地排查并清理服务器上不必要的数据和文件,释放磁盘空间。每一步操作前请确认文件和数据是否不再需要,以避免误删除重要内容。

Last updated

Was this helpful?