61 lines
1.5 KiB
Bash
Executable File
61 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Upload media files directly to Netcup server
|
|
# Usage: ./upload-to-netcup.sh <local-path> <media-type>
|
|
# 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}"
|