32 lines
696 B
Bash
32 lines
696 B
Bash
#!/usr/bin/env bash
|
|
# Sync images from ftp-images/bilder-bp to public/images/bilder-bp
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
FTP="${ROOT}/ftp-images"
|
|
DEST_ROOT="${ROOT}/public/images"
|
|
|
|
if [[ ! -d "$FTP" ]]; then
|
|
echo "Source not found: $FTP"
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$DEST_ROOT"
|
|
|
|
dest_name() {
|
|
case "$1" in
|
|
bilder-bp) echo "dishes" ;;
|
|
*) echo "$1" ;;
|
|
esac
|
|
}
|
|
|
|
for dir in "$FTP"/*/; do
|
|
name="$(basename "$dir")"
|
|
dest="${DEST_ROOT}/$(dest_name "$name")"
|
|
mkdir -p "$dest"
|
|
echo "Syncing $dir -> $dest"
|
|
rsync -av --delete --itemize-changes "${dir}/" "${dest}/"
|
|
done
|
|
|
|
echo ""
|
|
echo "=== Done. Validate menu refs: node scripts/sync-ftp-images.mjs --dry-run ===" |