diff options
author | doc <doc@filenotfound.org> | 2025-10-01 20:35:47 +0000 |
---|---|---|
committer | doc <doc@filenotfound.org> | 2025-10-01 20:35:47 +0000 |
commit | 772152a5810aa8c4e03cf167381aadc4ec00499f (patch) | |
tree | ba9418142f88622da878d9a3483c5da2da3e5c83 /mirror-watchdog.sh | |
parent | 13eb2d51c7284472efabc278bf9b7ec0b8575e47 (diff) |
Diffstat (limited to 'mirror-watchdog.sh')
-rwxr-xr-x | mirror-watchdog.sh | 29 |
1 files changed, 29 insertions, 0 deletions
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" |