summaryrefslogtreecommitdiffstats
path: root/ansible/clean-vms/clean-logs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/clean-vms/clean-logs.sh')
-rwxr-xr-xansible/clean-vms/clean-logs.sh45
1 files changed, 45 insertions, 0 deletions
diff --git a/ansible/clean-vms/clean-logs.sh b/ansible/clean-vms/clean-logs.sh
new file mode 100755
index 0000000..5d79011
--- /dev/null
+++ b/ansible/clean-vms/clean-logs.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+#
+# ToDo
+# truncate -s 0 /var/log/syslog
+# /var/log/journal/f* (new in 18.10)
+#
+
+# 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 || -d /run/log/journal/ ]]; then
+ systemctl stop systemd-journald
+ journal_dirs1=$(find /var/log/journal/ -maxdepth 1 -type d -name "a*")
+ journal_dirs2=$(find /run/log/journal/ -maxdepth 1 -type d -name "f*")
+ journal_dirs3=$(find /run/log/journal/ /var/log/journal/ -maxdepth 1 -type d -name "[0-9]*" 2> /dev/null)
+ journal_dirs="$journal_dirs1 $journal_dirs2 $journal_dirs3";
+
+ 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
+