From 305b169e0390b1d86fd673e27a1d21f463b2cc72 Mon Sep 17 00:00:00 2001 From: Joel Grunbaum <joelgrun@gmail.com> Date: Wed, 17 Jun 2020 04:21:27 +0000 Subject: [PATCH] Added new backup and changed formatting --- backup.sh | 69 +++++++++++++++++++++++++++------- 1 files changed, 54 insertions(+), 15 deletions(-) diff --git a/backup.sh b/backup.sh index 21f8aea..401bfc4 100755 --- a/backup.sh +++ b/backup.sh @@ -1,9 +1,55 @@ #!/bin/sh +BACKUP_DIR="/backup/work/" +FILES_DIR="/home/joel/OneDrive/" +RCLONE_BACKUP=("OneDrive_Personal" "GoogleDrive" "Mega" "unimelb" "sout" "pCloud" "gdrive_unimelb") +RCLONE_FILES=("sout" "Mega" "unimelb" "gdrive_unimelb") + +function sync() { + case $1 in + "sout") + rclone sync $([ $2 != "p" ] && echo "$BACKUP_DIR" || echo "$FILES_DIR") \ + $1:/data/Cloud/$([ $2 != "p" ] && echo "backup" || echo "files") $(! [ -z $3 ] && echo "-P") + ;; + *) + rclone sync $([ $2 != "p" ] && echo "$BACKUP_DIR" || echo "$FILES_DIR") \ + $1:/Uni/$([ $2 != "p" ] && echo "duplicacy" || echo "files") $(! [ -z $3 ] && echo "-P") + ;; + esac +} + +function sync_all() { + if [ -z $1 ]; then + for i in ${RCLONE_BACKUP[*]}; do + #echo -e '\033[0;31m'$i backup'\033[0m' + sync $i n & + done + for i in ${RCLONE_FILES[*]}; do + #echo -e '\033[0;31m'$i files'\033[0m' + 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 -e '\033[0;31m'$i files'\033[0m' + sync $i p p + done + fi +} + cd /home/joel/OneDrive +if [ "$1" = "sync" ]; then + echo -e '\033[0;32m'Syncing'\033[0m' + sync_all p + exit +fi + LAST="$(duplicacy list | tail -n1 | cut -d' ' -f4)" -CURR="$(duplicacy backup | grep "revision [0-9] completed" | sed 's/[^0-9]//g')" +CURR="$(duplicacy backup | tail -n1 | sed 's/[^0-9]//g')" #LAST=2 #CURR=4 DIFF="$(duplicacy diff -r $CURR -r $LAST | grep '-')" @@ -12,18 +58,11 @@ #echo "last - $LAST" #echo "diff - $DIFF" -if [ -z "$DIFF" ]; then - duplicacy prune -r $CURR -exclusive -else - echo "No diff to backup" -fi -duplicacy prune -keep 1:7 -keep 7:30 -exclusive +duplicacy prune -keep 7:30 -keep 1:7 -exclusive > /dev/null 2>&1 -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 & -#rclone sync $BACKUP_DIR "Oracle":/Uni +if [ -z "$DIFF" ]; then + duplicacy prune -r $CURR -exclusive > /dev/null 2>&1 +else + echo "New backup $CURR" + sync_all +fi -- Gitblit v1.9.3