blob: b0f4c4359a41707ea5865c60d3e75b02d85a197b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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"
|