From 772152a5810aa8c4e03cf167381aadc4ec00499f Mon Sep 17 00:00:00 2001 From: doc Date: Wed, 1 Oct 2025 20:35:47 +0000 Subject: mirror scripts --- mirror-watchdog.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 mirror-watchdog.sh (limited to 'mirror-watchdog.sh') diff --git a/mirror-watchdog.sh b/mirror-watchdog.sh new file mode 100755 index 0000000..b0f4c43 --- /dev/null +++ b/mirror-watchdog.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# +# Mirror watchdog: scans /var/lock for stale rsync locks +# Logs results to /var/log/mirror-watchdog.log +# + +LOGFILE="/var/log/mirror-watchdog.log" +LOCKDIR="/var/lock" +MAXAGE=10800 # 3 hours in seconds + +echo "[$(date '+%F %T')] Running mirror watchdog..." >> "$LOGFILE" + +for lock in gentoo hbsd void slackware rocky debian arch-repos arch-iso; do + LOCKFILE="$LOCKDIR/${lock}.lock" + + if [ -f "$LOCKFILE" ]; then + AGE=$(( $(date +%s) - $(stat -c %Y "$LOCKFILE") )) + if [ "$AGE" -gt "$MAXAGE" ]; then + echo "[$(date '+%F %T')] WARNING: $LOCKFILE is stale (age: ${AGE}s)" >> "$LOGFILE" + else + echo "[$(date '+%F %T')] OK: $LOCKFILE present (age: ${AGE}s)" >> "$LOGFILE" + fi + else + echo "[$(date '+%F %T')] OK: $LOCKFILE not found" >> "$LOGFILE" + fi +done + +echo "[$(date '+%F %T')] Watchdog run complete." >> "$LOGFILE" +echo >> "$LOGFILE" -- cgit v1.2.3