Created
January 14, 2021 19:28
-
-
Save josemarcosrf/1fb45363426f1421b373125e2ad59541 to your computer and use it in GitHub Desktop.
Script to clean up and free disk space in Linux; Docker, Snap, cache, etc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -eu | |
set -o pipefail | |
say() { | |
echo "$@" | sed \ | |
-e "s/\(\(@\(red\|green\|yellow\|blue\|magenta\|cyan\|white\|reset\|b\|u\)\)\+\)[[]\{2\}\(.*\)[]]\{2\}/\1\4@reset/g" \ | |
-e "s/@red/$(tput setaf 1)/g" \ | |
-e "s/@green/$(tput setaf 2)/g" \ | |
-e "s/@yellow/$(tput setaf 3)/g" \ | |
-e "s/@blue/$(tput setaf 4)/g" \ | |
-e "s/@magenta/$(tput setaf 5)/g" \ | |
-e "s/@cyan/$(tput setaf 6)/g" \ | |
-e "s/@white/$(tput setaf 7)/g" \ | |
-e "s/@reset/$(tput sgr0)/g" \ | |
-e "s/@b/$(tput bold)/g" \ | |
-e "s/@u/$(tput sgr 0 1)/g" | |
} | |
say @magenta[["===== 1. Cleaning journal logs ====="]] | |
say @blue[["Space used by sustem logs before:"]] | |
journalctl --disk-usage | |
journalctl --vacuum-time=3 | |
say @blue[["Space used by sustem logs after:"]] | |
journalctl --disk-usage | |
# ============================================================= | |
say @magenta[["===== 2. Cleaning old apt-get packages ====="]] | |
say @blue[["Space used by APT packages before:"]] | |
du -sh /var/cache/apt | |
apt-get autoremove | |
say @blue[["Space used by APT packages after:"]] | |
du -sh /var/cache/apt | |
# ============================================================= | |
say @magenta[["===== 3. Cleaning old snaps revisions ====="]] | |
say @blue[["Space used by snap packages before:"]] | |
du -h /var/lib/snapd/snaps | |
# CLOSE ALL SNAPS BEFORE RUNNING THIS | |
snap list --all | awk '/disabled/{print $1, $3}' | | |
while read snapname revision; do | |
snap remove "$snapname" --revision="$revision" | |
done | |
echo "Space used by snap package afetr:" | |
du -h /var/lib/snapd/snaps | |
say @magenta[["===== 4. Cleaning Docker containers ====="]] | |
docker system prune -a -f; | |
docker volume rm $(docker volume ls -qf dangling=true) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
God dam, last line deleted all my docker volume data