Vps Clean Up Space
Looking df -h
my /dev/sda1
was 98% full. Oh boy! Lets dig deeper.
root@ark ~$ sudo du -h --max-depth=1 / | sort -hr | head -n 10
37G /
22G /var
8.0G /srv
3.8G /root
2.8G /usr
163M /boot
51M /tmp
6.7M /etc
1.6M /run
100K /home
Looks like /var
needs to be cleaned up.
root@ark /var$ sudo du -h --max-depth=4 . | sort -hr | head -n 20
22G .
17G ./lib
14G ./lib/docker
5.7G ./log
5.4G ./lib/docker/overlay2
5.0G ./lib/docker/containers
3.5G ./lib/docker/volumes
3.4G ./lib/docker/containers/8554cc18a1515c51136d24a1ae745473b8b9cf443305d6fe0a5ceca2256e2506
3.3G ./log/journal/7b782f4d055049cda23d8caf1a4f61da
3.3G ./log/journal
1.8G ./lib/postgresql/12/main
1.8G ./lib/postgresql/12
1.8G ./lib/postgresql
1.4G ./lib/docker/overlay2/6pi8vs313frnq56clp4j9ieh8
1.2G ./lib/docker/containers/79f20b45bbdc34b143a9a747bbd2c79f141767df0a58544ba23db518dbcfc9d2
1.1G ./lib/docker/volumes/ee4e3b66f872305602df73451e63c90c298fd51c91e282064957acef7854af5c
1.1G ./lib/docker/volumes/80e7fa85974888ad947cd8e188bb48a55008d4cdae249beecab06d4706fbdaf4
1.1G ./lib/docker/volumes/79c6254960b070c4e2b071a9296d269cb87e2fdac777f84c2d00e22d04a429e1
828M ./lib/docker/overlay2/eb8dc823da628dade5a3adb3e4a17347d6db67c20574fb6ad10da470de8979ce
711M ./lib/docker/overlay2/a0e634e68c79c2f929e92c3b2f3ea0f5cbcd9095f54814381de8bff2786f46ed
The immediate thing visible to me is to clean up journalctl logs.
root@ark /var$ journalctl --disk-usage
Archived and active journals take up 3.2G in the file system.
root@ark /var$ sudo journalctl --vacuum-size=500M
Vacuuming done, freed 0B of archived journals from /run/log/journal.
Vacuuming done, freed 0B of archived journals from /var/log/journal.
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-0000000007ed0b94-00062b30e109733e.journal (72.0M).
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-0000000007edf06e-00062b91ca3f00e0.journal (72.0M).
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-0000000007eed415-00062bfbd94c81b2.journal (72.0M).
...
...
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-00000000080f3662-000637307aef0b62.journal (8.0M).
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-00000000080f4504-000637346a83cc35.journal (8.0M).
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-00000000080f54b0-0006373c05baad8b.journal (8.0M).
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-00000000080f643e-0006374388ed8201.journal (8.0M).
Vacuuming done, freed 2.7G of archived journals from /var/log/journal/7b782f4d055049cda23d8caf1a4f61da.
Then I ran
root@ark ~$ docker container prune
root@ark ~$ docker image prune
root@ark ~$ docker images -a
# and manually removed some old images
TIL: docker system df
is a useless command
Another thing which saved almost 4G of data was to truncate the container logs:
sudo find /var/lib/docker/containers/ -name "*-json.log" -exec truncate -s 0 {} \;
And bam I recoverd around 11G total
root@ark ~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 4.0K 1.9G 1% /dev
tmpfs 385M 1.6M 383M 1% /run
/dev/sda1 38G 26G 11G 71% /