#!/bin/bash set -euo pipefail SRC="/srv/navidrome/music/" DST="zh3289@zh3289.rsync.net:/data1/home/zh3289/navidrome/Music/" LOCKFILE="/run/backup-navidrome-music.lock" exec 9>"$LOCKFILE" flock -n 9 || { echo "Backup already running" exit 1 } echo "==== $(date -Is) backup start ====" rsync -aH --delete \ --info=progress2,stats \ "$SRC" "$DST" echo "==== $(date -Is) backup done ===="