37 lines
788 B
Bash
Executable file
37 lines
788 B
Bash
Executable file
#!/bin/sh
|
|
|
|
echo "== Avvio watcher multipli =="
|
|
|
|
CONFIG_FILE="/app/config/users.json"
|
|
PHOTOS_DIR="/app/photos"
|
|
|
|
if [ ! -f "$CONFIG_FILE" ]; then
|
|
echo "ERRORE: $CONFIG_FILE non trovato"
|
|
exit 1
|
|
fi
|
|
|
|
USERS=$(jq -r '.users[].name' "$CONFIG_FILE")
|
|
|
|
for USER in $USERS; do
|
|
|
|
# 🔥 Regola speciale per Admin
|
|
if [ "$USER" = "Admin" ]; then
|
|
WATCH_DIR="$PHOTOS_DIR/Common/original"
|
|
else
|
|
WATCH_DIR="$PHOTOS_DIR/$USER/original"
|
|
fi
|
|
|
|
if [ ! -d "$WATCH_DIR" ]; then
|
|
echo "Cartella non trovata per $USER: $WATCH_DIR"
|
|
continue
|
|
fi
|
|
|
|
echo "Avvio watcher per $USER → $WATCH_DIR"
|
|
|
|
sh -c "inotifywait -m -r -e close_write,delete,move --format '%w %e %f' \
|
|
\"$WATCH_DIR\" | node /app/watcher_logic.mjs \"$USER\"" &
|
|
done
|
|
|
|
echo "Tutti i watcher avviati."
|
|
|
|
tail -f /dev/null
|