#!/usr/bin/env bash # klevstul :: 26.04 rcloneHelper() { operation=$1 remote=$2 if [[ ${operation} == "list" ]] ; then rclone listremotes --long elif [[ -n ${operation} ]] && [[ -n ${remote} ]] ; then # check if given remote exist if ! rclone listremotes | grep -xq ${remote}:; then echo "'${remote}' is an unknown rclone remote." exit 1 fi mnt_dir=/mnt/rclone/${remote} if ! [[ -d ${mnt_dir} ]]; then echo "creating non-existing mount dir '${mnt_dir}'." sudo mkdir -p ${mnt_dir} sudo chown ${USER}:${USER} ${mnt_dir} elif [[ ! -d ${mnt_dir} ]] ; then echo "'${mnt_dir}' exist, but is not a directory" 1>&2 fi if [[ ${operation} == "umount" ]] || [[ ${operation} == "unmount" ]] ; then echo "umount ${mnt_dir}" sudo umount -l ${mnt_dir} elif [[ ${operation} == "mount" ]] ; then echo "mount ${mnt_dir}" rclone mount --vfs-cache-mode full --vfs-cache-max-size 100G --vfs-read-chunk-size 128M --transfers 32 --checkers 16 --tpslimit 12 pcloud: ${mnt_dir} & else echo "unknown command...'" fi else echo "sry, bud! try: 'gitRepos {mount,umount} {remote}'" fi } this_file_name=`basename "$0"` if [ $# -lt 1 ]; then echo "error: operation {mount|umount|list} {remote?} is missing." echo "usage: '$this_file_name {input_1} {input_2}'" exit 1 fi rcloneHelper $1 $2