Files
hotdisk/sh/hotdisk_logger.sh
2025-10-05 16:03:51 +02:00

40 lines
857 B
Bash

#!/bin/bash
set -euo pipefail
# Function to run commands with sudo only if not root
run_as_root() {
if [[ $EUID -eq 0 ]]; then
"$@"
else
sudo "$@"
fi
}
CONF_FILE="/etc/hdd_temp_monitor.conf"
if [[ ! -f "$CONF_FILE" ]]; then
echo "ERROR: Configuration file $CONF_FILE not found!" >&2
exit 1
fi
source "$CONF_FILE"
# Validate required variables
for var in LOG_FILE LOG_ROTATE_PERIOD LOG_ROTATE_COUNT; do
if [[ -z "${!var:-}" ]]; then
echo "ERROR: Required variable $var not set in $CONF_FILE" >&2
exit 1
fi
done
LOGROTATE_FILE="/etc/logrotate.d/hotdisk"
run_as_root tee "$LOGROTATE_FILE" > /dev/null <<EOF
$LOG_FILE {
$LOG_ROTATE_PERIOD
rotate $LOG_ROTATE_COUNT
compress
missingok
notifempty
copytruncate
}
EOF
echo "Logrotate configuration generated at $LOGROTATE_FILE"