configs/roles/config/files/scripts/in_path/sc-jellyfin-update
2025-02-17 19:48:56 +01:00

32 lines
912 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
user=exu
server="he1app3.xpn.ch"
port=22
sshkeypath="$HOME/.ssh/id_ed25519"
# NOTE don't transfer to the storage box directly, leads to mangled file names
# see: https://serverfault.com/a/765951
# unlock ssh key
if ! ssh-add -T "${sshkeypath}.pub" &>/dev/null; then
ssh-add -q "$sshkeypath"
fi
# NAS: video files
rsync -uvr --progress --delete "/mnt/storage/MediaLibrary/"{Movies,Patreon,Shows} "/mnt/CH-OF-NAS01/"
# NAS: music
rsync -uvrL --progress --delete "/home/exu/Musik" "/mnt/CH-OF-NAS01/"
# Server: music
rsync -uvrL --progress --delete -e "ssh -i $sshkeypath -p $port" "/home/exu/Musik/" "${user}@${server}:/mnt/media/Musik/"
# Server: video files
rsync -uvr --progress --delete -e "ssh -i $sshkeypath -p $port" "/mnt/storage/MediaLibrary/"{Movies,Shows} "${user}@${server}:/mnt/media/"
# wait for background jobs
wait
echo "Finished transfering data"