sysconfig/rclone-starter.sh

67 lines
1.9 KiB
Bash

#!/bin/bash
echo "#<<< rclone [i] to install, [s] to sync, [c] to copy, [w] to web gui, [else] to quit"
read -p "#>>> " ACTION_TYPE
if [ "$ACTION_TYPE" = 'i' ]
then
sudo -v ; curl https://rclone.org/install.sh | sudo bash
elif [[ "$ACTION_TYPE" = 's' || "$ACTION_TYPE" = 'c' ]]
then
if [ "$ACTION_TYPE" = 's' ]
then
RC_CMD='sync'
elif [ "$ACTION_TYPE" = 'c' ]
then
RC_CMD='copy'
fi
echo
echo "#<<< from source (default ./)"; read -p "#>>> " SOURCE_PATH; if [ ! "$SOURCE_PATH" ]; then SOURCE_PATH="./"; fi
echo
while [ ! "$TARGET_PATH" ]
do
echo "#<<< to target [remote:path]"
read -p "#>>> " TARGET_PATH
done
# read -p "rclone $RC_CMD with max-age #>>> " MAX_AGE ## 发现用了 max-age 并没有提升速度,反而略有下降,即使对大量现有文件和少量更新文件
echo
echo "excluding files and folders (folders must end with /)"
read -p "#>>> " EXCLUDING;
echo
echo "with [number] files in parallel, default 4"
read -p "#>>> " TRANSFERS;
if [ ! "$TRANSFERS" ]; then TRANSFERS=4; fi
echo
echo "with [number] threads simultaneously, default 4";
read -p "#>>> " THREADS;
if [ ! "$THREADS" ]; then THREADS=4; fi
FULL_CMD="rclone $RC_CMD $SOURCE_PATH $TARGET_PATH -P -L --transfers=$TRANSFERS --multi-thread-streams=$THREADS --create-empty-src-dirs --exclude=._* --exclude=.DS_Store --exclude={node_modules/,.deploy_git/,unpackage/,$EXCLUDING}"
echo
echo "*****************************"
echo $FULL_CMD
echo "*****************************"
echo
echo "Starting? [y] for yes, [anything else] for quit"
read -p "#>>> " YES_OR_NOT
echo
if [ "$YES_OR_NOT" = 'y' ]
then
echo "****************** [rclone $RC_CMD] Start: `date -u -Iseconds` *****************"
$FULL_CMD
echo "****************** [rclone $RC_CMD] Start: `date -u -Iseconds` *****************"
echo
rclone ls $TARGET_PATH
fi
elif [ "ACTION_TYPE" = 'w' ]
then
rclone rcd --rc-web-gui
fi