library-syncer/client/build/sync.sh
2022-08-05 16:29:22 -05:00

22 lines
No EOL
864 B
Bash

#!/bin/sh
set -e
# initial sync is immediate, cron syncs have a random delay unless $CRON_DELAY==false
if [ $1 != "now" ]; then
echo -e "\n[$(date +"%Y/%m/%d-%H:%M:%S")] Waiting for random delay..."
sleep $(( RANDOM ))
echo -e "[$(date +"%Y/%m/%d-%H:%M:%S")] Sync starts NOW!"
else
echo -e "\n[$(date +"%Y/%m/%d-%H:%M:%S")] Immediate sync starts NOW!"
fi
# sync
echo -e "[$(date +"%Y/%m/%d-%H:%M:%S")] Rsyncing content..."
/usr/bin/rsync -e "ssh -l syncer -p $SYNC_PORT -i /syncer/.ssh/id_syncer -o StrictHostKeyChecking=no" -av --exclude '*.json' $SYNC_PEER:/ /syncer/library
# generate content library manifest
echo -e "[$(date +"%Y/%m/%d-%H:%M:%S")] Generating content library manifest..."
/usr/bin/python3 /syncer/update_library_manifests.py -n 'Library' -p /syncer/library/
echo -e "[$(date +"%Y/%m/%d-%H:%M:%S")] Sync tasks complete!\n"