#!/bin/bash # Upload media files directly to Netcup server # Usage: ./upload-to-netcup.sh # Example: ./upload-to-netcup.sh /home/jeffe/Shows shows # ./upload-to-netcup.sh /home/jeffe/Movies movies # ./upload-to-netcup.sh /home/jeffe/Music music set -e LOCAL_PATH="${1:-.}" MEDIA_TYPE="${2:-shows}" NETCUP_HOST="netcup" REMOTE_PATH="/opt/media-server/media/${MEDIA_TYPE}" echo "==========================================" echo " Upload Media to Netcup RS 8000" echo "==========================================" echo "" echo "Source: $LOCAL_PATH" echo "Destination: ${NETCUP_HOST}:${REMOTE_PATH}" echo "" # Calculate size echo "Analyzing files..." LOCAL_SIZE=$(du -sh "$LOCAL_PATH" 2>/dev/null | cut -f1) FILE_COUNT=$(find "$LOCAL_PATH" -type f 2>/dev/null | wc -l) echo "" echo "Upload Summary:" echo "===============" echo "Total size: $LOCAL_SIZE" echo "Total files: $FILE_COUNT" echo "" # Show what will be uploaded echo "Contents to upload:" ls -la "$LOCAL_PATH" | head -15 echo "" # Run rsync with progress echo "Starting upload..." echo "" rsync -avz --progress \ --human-readable \ --stats \ -e "ssh -i ~/.ssh/netcup_ed25519" \ "$LOCAL_PATH/" \ "${NETCUP_HOST}:${REMOTE_PATH}/" echo "" echo "==========================================" echo " Upload Complete!" echo "==========================================" echo "" # Show remote storage echo "Current storage on Netcup:" ssh ${NETCUP_HOST} "du -sh ${REMOTE_PATH}"