Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- rclone --version >/dev/null
- if (( "$?" == 127 )); then
- echo "ERROR: rclone is not installed" >&2
- exit 1
- fi
- if [[ ! -f /media/fat/rclone.conf ]]; then
- echo "ERROR: /media/fat/rclone.conf is missing" >&2
- exit 1
- fi
- declare -A SYSTEM_DIRS=(
- [GAMEBOY]="Nintendo - Game Boy"
- [GBA]="Nintendo - Game Boy Advance"
- [Genesis]="Sega - Mega Drive - Genesis"
- [MegaCD]="Sega - Mega-CD - Sega CD"
- [N64]="Nintendo - Nintendo 64"
- [NEOGEO]="FBNeo - Arcade Games"
- [NES]="Nintendo - Nintendo Entertainment System"
- [PSX]="Sony - PlayStation"
- [S32X]="Sega - 32X"
- [SMS]="Sega - Master System - Mark III"
- [SNES]="Nintendo - Super Nintendo Entertainment System"
- [TGFX16]="NEC - PC Engine - TurboGrafx 16"
- [TGFX16-CD]="NEC - PC Engine CD - TurboGrafx-CD"
- )
- rm -rf /tmp/retrocloud
- mkdir -p /tmp/retrocloud/saves
- cd /tmp/retrocloud/saves
- for LOCAL_DIR in "${!SYSTEM_DIRS[@]}"; do
- CLOUD_DIR="${SYSTEM_DIRS[$LOCAL_DIR]}"
- mkdir -p "$CLOUD_DIR"
- for SAVE_FILE in /media/fat/saves/"$LOCAL_DIR"/*.sav; do
- ln -s "$SAVE_FILE" "./$CLOUD_DIR/$(basename "${SAVE_FILE%.sav}").srm"
- done
- rclone copy --config="/media/fat/rclone.conf" \
- --copy-links \
- --progress \
- "$CLOUD_DIR" RetroCloud:RetroCloud/saves/"$CLOUD_DIR"
- rclone copy --config="/media/fat/rclone.conf" \
- --copy-links \
- --progress \
- RetroCloud:RetroCloud/saves/"$CLOUD_DIR" "$CLOUD_DIR"
- rclone copy --config="/media/fat/rclone.conf" \
- --copy-links \
- --progress \
- "$CLOUD_DIR" /media/fat/saves/"$LOCAL_DIR"
- done
Advertisement
Add Comment
Please, Sign In to add comment