#!/bin/bash # clean traditional logs etc. find /var/log/ -type f -name "*.gz" -exec rm -f {} \; find /var/log/ -type f -name "*.1" -exec rm -f {} \; find /var/log/ -type f -name "*.old" -exec rm -f {} \; # clean systemd's journal if [[ -d /var/log/journal ]]; then systemctl stop systemd-journald journal_dirs=$(find /var/log/journal/ -maxdepth 1 -type d -name "a*") for j in $journal_dirs; do echo "removing ${j}" rm -rf $j done systemctl start systemd-journald fi # clean atop logs if [[ -d /var/log/atop ]]; then systemctl stop atop rm -f /var/log/atop/* systemctl start atop fi # clean samba logs if [[ -d /var/log/samba ]]; then rm -rf /var/log/samba/* fi # at last truncate all *.log find /var/log/ -name "*.log" -exec truncate -s 0 {} \; exit 0