- 判断大容量目录
- Linux 系统 /var/log/journal/ 垃圾日志清理
- journalctl 命令自动维护文件大小
- 重启journal服务
- 删除exit状态容器
- docker system prune
- 容器占用大小
- 清理docker空间
- 卷清理
- 容器日志清理 (非标准输出)
判断大容量目录
[root@izwz98ts4wal69fbvdk1qrz log]# du -h --max-depth=1| sort -n
4.0K ./chrony
16K ./zabbix
4.0K ./rhsm
4.0G ./journal
20K ./tuned
35M ./audit
4.0K ./ntpstats
36K ./multi-nic-util
4.0K ./anaconda
22M ./sa
4.1G .
最终发现/var/log/journal
目录占据4G空间,journal是rsyslog的升级版
Linux 系统 /var/log/journal/ 垃圾日志清理
参考链接: https://blog.csdn.net/ithomer/article/details/89530790
journalctl --vacuum-size=10M
journalctl 命令自动维护文件大小
-只保留近一周的日志
journalctl --vacuum-time=1w
- 只保留500MB的日志
journalctl --vacuum-size=500M
重启journal服务
systemctl restart systemd-journald
https://blog.csdn.net/everlasting_188/article/details/80353391
删除exit状态容器
docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm
docker system prune
docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。
容器占用大小
docker system df -v
清理docker空间
#!/bin/bash
# remove exited containers:
docker ps --filter status=dead --filter status=exited -aq | xargs -r docker rm -v
# remove unused images:
docker images --no-trunc | grep '<none>' | awk '{ print $3 }' | xargs -r docker rmi
# remove unused volumes (needs to be ran as root):
find '/var/lib/docker/volumes/' -mindepth 1 -maxdepth 1 -type d | grep -vFf <(
docker ps -aq | xargs docker inspect | jq -r '.[]|.Mounts|.[]|.Name|select(.)'
) | xargs -r rm -fr
卷清理
docker system df 分析卷空间
# 删除所有未被任何容器关联引用的卷:
docker volume rm $(docker volume ls -qf dangling=true)
容器日志清理 (非标准输出)
docker system df -v 查看空间占用比较大的容器id
docker exec -it $container_id /bin/bash
在用du -h --max-depth=1| sort -n 查看具体是什么占用了磁盘