Files
ImUpper/monitor.sh
2025-12-01 09:24:53 +01:00

30 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -eu
INBOX="${INBOX:-/mnt/user/photosync/inbox}"
DROP="${DROP:-/mnt/user/photosync/drop}"
LOGFILE="${LOGFILE:-/mnt/user/photosync-scripts/monitor.log}"
MOVER_CONTAINER="${MOVER_CONTAINER:-photosync-mover}"
UPLOADER_CONTAINER="${UPLOADER_CONTAINER:-photosync-uploader}"
TAIL_LINES="${TAIL_LINES:-10}"
TIMESTAMP="$(date '+%Y-%m-%d %H:%M:%S')"
echo "=== Photosync Monitor @ $TIMESTAMP ===" | tee -a "$LOGFILE"
inbox_count=$(find "$INBOX" -type f 2>/dev/null | wc -l | tr -d ' ')
drop_count=$(find "$DROP" -type f 2>/dev/null | wc -l | tr -d ' ')
echo "Inbox files: $inbox_count" | tee -a "$LOGFILE"
echo "Drop files: $drop_count" | tee -a "$LOGFILE"
for svc in "$MOVER_CONTAINER" "$UPLOADER_CONTAINER"; do
if docker ps --format '{{.Names}}' | grep -q "^$svc$"; then
echo "Container $svc: RUNNING" | tee -a "$LOGFILE"
else
echo "Container $svc: NOT RUNNING" | tee -a "$LOGFILE"
fi
done
echo "--- Last $TAIL_LINES uploader log lines ---" | tee -a "$LOGFILE"
docker logs --tail "$TAIL_LINES" "$UPLOADER_CONTAINER" 2>&1 | tee -a "$LOGFILE"
echo "" | tee -a "$LOGFILE"