mirror of https://github.com/Chizi123/Scripts.git

Joel Grunbaum
2020-05-18 ae2fb4c4827c61ac450f302714c5042b3c886609
Backups in array now for easier addition and removal of backends
1 files modified
75 ■■■■■ changed files
backup.sh 75 ●●●●● patch | view | raw | blame | history
backup.sh
@@ -1,24 +1,57 @@
#!/bin/sh
BACKUP_DIR="/backup/work/"
FILES_DIR="/home/joel/OneDrive/"
RCLONE_BACKUP=("OneDrive_Personal" "NextCloud" "GoogleDrive" "Mega" "unimelb" "sout" "pCloud")
RCLONE_FILES=("sout" "Mega" "unimelb")
function sync() {
    if [ $2 != "p" ]; then
        case $1 in
            "sout")
                rclone sync $BACKUP_DIR $1:/data/Cloud/backup $(! [ -z $3 ] && echo "-P")
                ;;
            *)
                rclone sync $BACKUP_DIR $1:/Uni/duplicacy  $(! [ -z $3 ] && echo "-P")
                ;;
        esac
    else
        case $1 in
            "sout")
                rclone sync $FILES_DIR $1:/data/Cloud/files  $(! [ -z $3 ] && echo "-P")
                ;;
            *)
                rclone sync $FILES_DIR $1:/Uni/files  $(! [ -z $3 ] && echo "-P")
                ;;
            esac
    fi
}
function sync_all() {
    if [ -z $1 ]; then
        for i in ${RCLONE_BACKUP[*]}; do
            sync $i &
        done
        for i in ${RCLONE_FILES[*]}; do
            sync $i p &
        done
    else
        for i in ${RCLONE_BACKUP[*]}; do
            echo -e '\033[0;31m'$i backup'\033[0m'
            sync $i n p
        done
        for i in ${RCLONE_FILES[*]}; do
            echo '\033[0;31m'$i files'\033[0m'
            sync $i p p
        done
    fi
}
cd /home/joel/OneDrive
if [ "$1" = "sync" ]; then
    echo Syncing
    BACKUP_DIR="/backup/work/"
    echo OneDrive Personal
    rclone sync $BACKUP_DIR "OneDrive_Personal":/Uni -P
    echo NextCloud
    rclone sync $BACKUP_DIR "NextCloud":/Uni -P
    echo GoogleDrive
    rclone sync $BACKUP_DIR "GoogleDrive":/Uni -P
    echo Mega
    rclone sync $BACKUP_DIR "Mega":/Uni -P
    echo unimelb
    rclone sync $BACKUP_DIR "unimelb":/ -P
    echo sout
    rclone sync $BACKUP_DIR "sout":/data/Cloud/backup -P
    echo sout files
    rclone sync /home/joel/OneDrive "sout":/data/Cloud/files -P
    echo -e '\033[0;32m'Syncing'\033[0m'
    sync_all p
    exit
fi
@@ -38,13 +71,5 @@
    duplicacy prune -r $CURR -exclusive > /dev/null 2>&1
else
    echo "New backup $CURR"
    BACKUP_DIR="/backup/work/"
    rclone sync $BACKUP_DIR "OneDrive_Personal":/Uni &
    rclone sync $BACKUP_DIR "NextCloud":/Uni &
    rclone sync $BACKUP_DIR "GoogleDrive":/Uni &
    rclone sync $BACKUP_DIR "Mega":/Uni &
    rclone sync $BACKUP_DIR "unimelb":/ &
    rclone sync $BACKUP_DIR "sout":/data/Cloud/backup &
    rclone sync /home/joel/OneDrive "sout":/data/Cloud/files &
    #rclone sync $BACKUP_DIR "Oracle":/Uni
    sync_all
fi