diff options
-rwxr-xr-x | clean-logs.sh | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/clean-logs.sh b/clean-logs.sh new file mode 100755 index 0000000..0ea4956 --- /dev/null +++ b/clean-logs.sh @@ -0,0 +1,34 @@ +#!/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 |