日常运营中当Linux服务器提示 “no space left on device” 错误时,意味着磁盘空间已满,运营人员需要采取一些措施来清理磁盘。下文主要分享一些清理Linux磁盘空间的方法步骤。
1、检查磁盘使用情况
首先,使用 df 和 du 命令检查磁盘使用情况,找出哪些目录占用了大量空间。
可以通过如下命令来查询:
df -h
举例:
直接进入该路径进行文件清理,该案例的文件是日志文件,可直接清理:
/data1/server/server/officeauto/logs
2、查找大文件和目录
使用 du -sh 命令查找占用大量空间的文件和目录。可以通过路径不断深入来查询,最终定位到可删除的文件:
du -sh /* 2>/dev/null
3、清理Docker数据
Docker 的 overlay 文件系统也占用了大量空间。你可以清理未使用的 Docker 镜像、容器和卷。
(1)删除未使用的 Docker 镜像
docker image prune -a
(2)删除未使用的 Docker 容器
docker container prune
(3)删除未使用的 Docker 卷
docker volume prune
4、清理Kubernetes日志和缓存
Kubernetes的日志和缓存文件也可能占用大量空间。你可以清理这些文件。
(1)清理 Kubernetes 日志
生产环境慎操作,可以根据实际情况增加限定范围,如 “*.log”改为”2023-*.log”来限定只删除23年日志。
find /var/log/containers/ -type f -name “*.log” -delete
(2)清理Kubernetes缓存
rm -rf /var/lib/kubelet/pods/*/volumes/kubernetes.io~empty-dir/*
5、清理非重要文件
(1)清理临时文件(慎操作)
rm -rf ~/tmp/*
(2)清理下载文件(慎操作)
rm -rf ~/Downloads/*
(3)压缩文件后进行删除
sudo gzip /var/log/*.log
rm -rf /var/log/*.log
6、使用cleanup.sh脚本文件
我们还可以整理一个cleanup.sh脚本文件,后续直接执行sh cleanup.sh一步执行清理释放磁盘。
将以上脚本保存为 cleanup.sh,赋予执行权限并运行:
chmod +x cleanup.sh
./cleanup.sh
通过这些步骤可以释放一些磁盘空间。不过操作过程需要慎重,必要情况下可以先做压缩、备份处理。
相关推荐:《Linux核心基础、权限管理入门教程》
-
广告合作
-
QQ群号:4114653






