#!/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"