cluster/images/forgejo-runner/scripts/cleanup.sh

56 lines
995 B
Bash

#!/usr/bin/env bash
set -eux
clean_cloud_init() {
cloud-init clean --logs --machine-id --seed --configs all
rm -rf /run/cloud-init/*
rm -rf /var/lib/cloud/*
}
clean_apt() {
export DEBIAN_FRONTEND=noninteractive
apt-get -y autopurge
apt-get -y clean
rm -rf /var/lib/apt/lists/*
}
clean_ssh_keys() {
rm -f /etc/ssh/ssh_host_*_key /etc/ssh/ssh_host_*_key.pub
}
clean_logs() {
journalctl --flush
journalctl --rotate --vacuum-time=0
find /var/log -type f -exec truncate --size 0 {} \; # truncate system logs
find /var/log -type f -name '*.[1-9]' -delete # remove archived logs
find /var/log -type f -name '*.gz' -delete # remove compressed archived logs
}
clean_root() {
unset HISTFILE
rm -rf /root/.cache
rm -rf /root/.ssh
rm -f /root/.bash_history
rm -f /root/.lesshst
rm -f /root/.viminfo
}
flush_disk() {
dd if=/dev/zero of=/zero bs=4M || true
sync
rm -f /zero
}
clean_cloud_init
clean_apt
clean_ssh_keys
clean_logs
clean_root
flush_disk