logic changes

This commit is contained in:
2026-01-28 11:46:49 +01:00
parent ec66763f53
commit 518107296a

View File

@@ -8,14 +8,13 @@
#
# Are we root
#
if [[ $(id -u) -ne 0 ]]; then printf "\nMust be root or use sudo!\n\n"; exit; fi
if [[ $(id -u) -ne 0 ]]; then echo "" && echo "Must be root or use sudo" && echo "" ; exit ; fi
#
# Create cron job
#
cronjob01="0 2 * * 7 root /usr/local/sbin/clear-journal-log >/dev/null 2>&1"
echo "$cronjob01" > /etc/cron.d/clear-journal-log
echo "" >> /etc/cron.d/clear-journal-log
cronjob01="0 2 * * 7 root /usr/local/sbin/clear-journal-log >/dev/null 2>&1"
printf "%s\n\n" "$cronjob01" > /etc/cron.d/clear-journal-log
#
# Ensure correct permissions for /etc/cron.d entries
@@ -24,24 +23,47 @@ chmod 644 /etc/cron.d/clear-journal-log
chown root:root /etc/cron.d/clear-journal-log
#
# Create script to clear the journal log executed by cron
# Create script executed by cron
#
cat > /usr/local/sbin/clear-journal-log <<EOF
cat > /usr/local/sbin/clear-journal-log <<'EOF'
#!/usr/bin/env bash
logfile="/var/log/clear-journal.log"
line () { for i in {1..100}; do echo -n "$1"; done && printf "\n"; }
datenow=$(date +"%d-%m-%Y %H:%M")
#
# Are we root
#
if [[ $(id -u) -ne 0 ]]; then echo "" && echo "Must be root or use sudo" && echo "" ; exit ; fi
logfile="/var/log/clear-journal.log"
datenow="$(date '+%d-%m-%Y %H:%M')"
line() {
printf '%*s\n' 100 '' | tr ' ' '-'
}
#
# Clear journal log
line '-' > "$logfile"
diskusage=$(journalctl --disk-usage)
#
line > "$logfile"
diskusage="$(journalctl --disk-usage 2>/dev/null)"
printf "%s Before Cleanup: %s\n" "$datenow" "$diskusage" >> "$logfile"
journalctl --rotate >/dev/null 2>&1
journalctl --vacuum-time=3d >/dev/null 2>&1
diskusage=$(journalctl --disk-usage)
diskusage="$(journalctl --disk-usage 2>/dev/null)"
printf "%s After Cleanup: %s\n" "$datenow" "$diskusage" >> "$logfile"
line '-' >> "$logfile"
line >> "$logfile"
#
# All done
#
printf "\nAll Done...\n"
#
# End of script
#
EOF
chmod 755 /usr/local/sbin/clear-journal-log