diff --git a/kumonoboru.sh b/kumonoboru.sh index d3c4c0d..29b04fb 100755 --- a/kumonoboru.sh +++ b/kumonoboru.sh @@ -1,5 +1,6 @@ #!/bin/bash -##Simple script to run Restic backups +## Script to run Restic backups to a B2 backend. +## It makes sure each of the preconfigured repositories can be safely backed up. show_help() { @@ -8,11 +9,11 @@ show_help() echo " {-r|--repository} repository -- Only backup the specified repository." echo " {-l|--limit} #[Kbps] -- Limit upload & download speed" echo " {-v|--verbose} -- Print debug messages" - echo " {-h|--show_help} -- Print this show_help message and exit" + echo " {-h|--show_help} -- Print this show_help message and exit" echo "Available repositories:" - echo "Gerbil-TK Photos (path: /var/Red-Vol/Media/Pictures)" - echo "Pukeko-XYZ-Containers Containers (path: /var/Red-Vol/Media/Containers)" - echo "Pukeko-XYZ-Cloud Data from all devices (path: /var/Red-Vol/Media/Cloud)" + echo "REPO-1 stuff (path: /stuff/stuff1)" + echo "REPO-2 other stuff (path: /stuff/stuff2)" + echo "REPO-3 more stuff (path: /stuff/stuff3)" exit 0 } #Pass arguments to the script @@ -44,7 +45,7 @@ flags() } flags "$@" -#Defaults +## Defaults if [[ -z $BWLIMIT ]]; then export BWLIMIT="0" else @@ -57,10 +58,6 @@ if [[ -n $REPOSITORY ]]; then echo -e "Will only process repository" "$1" fi -export B2_ACCOUNT_ID=8582a42a3b99 #Master Key -export B2_ACCOUNT_KEY=00041845e8dd29d7e3d091d77bb8a631ee71332be7 #Master Application ID -RESTIC_PASSWORD='f$774$#je4%U8vp8ov*UsZMHqL$m3Smh#fEbbt7hyULQxfnnWmSiS5MEndzVWT$$n^@s$P*o4vV*^rgv3jvvrv@y35VppU$$y*vnG5V@botU&4$39Y6t9HSb3Z548M!4' - #Safety function; accepts repository to check safety(){ @@ -131,24 +128,24 @@ clean(){ #If cleaning was forced, or if it's the first of this month - clean. if [[ -n $CLEAN ]] || [[ $(date +%d) == "1" ]]; then - check Gerbil-TK - clean Gerbil-TK - check Pukeko-XYZ-Containers - clean Pukeko-XYZ-Containers - check Pukeko-XYZ-Cloud - clean Pukeko-XYZ-Cloud + check REPO-1 + clean REPO-1 + check REPO-2 + clean REPO-2 + check REPO-3 + clean REPO-3 #If a specific repository was requested, back it up; otherwise, back them all up. elif [[ -n $REPOSITORY ]] && [[ -z $CLEAN ]]; then case "$REPOSITORY" in - (Gerbil-TK) - backup Gerbil-TK /var/Red-Vol/Media/Pictures/ + (REPO-1) + backup REPO-1 /stuff/stuff1/ ;; - (Pukeko-XYZ-Containers) - backup Pukeko-XYZ-Containers /var/Red-Vol/Media/Containers/ + (REPO-2) + backup REPO-2 /stuff/stuff2/ ;; - (Pukeko-XYZ-Cloud) - backup Pukeko-XYZ-Cloud /var/Red-Vol/Media/Cloud/ + (REPO-3) + backup REPO-3 /stuff/stuff3/ ;; (*) show_help;; @@ -156,24 +153,24 @@ elif [[ -n $REPOSITORY ]] && [[ -z $CLEAN ]]; then #If cleaning was not forced, backup the repositories elif [[ -z $CLEAN ]]; then - backup Gerbil-TK /var/Red-Vol/Media/Pictures/ - backup Pukeko-XYZ-Containers /var/Red-Vol/Media/Containers/ - backup Pukeko-XYZ-Cloud /var/Red-Vol/Media/Cloud/ + backup REPO-1 /stuff/stuff1/ + backup REPO-2 /stuff/stuff2/ + backup REPO-3 /stuff/stuff3/ #If a specific repository was requested to be cleaned, clean it elif [[ -n $REPOSITORY ]] && [[ -n $CLEAN ]]; then case "$REPOSITORY" in - (Gerbil-TK) - check Gerbil-TK - clean Gerbil-TK + (REPO-1) + check REPO-1 + clean REPO-1 ;; - (Pukeko-XYZ-Containers) - check Pukeko-XYZ-Containers - clean Pukeko-XYZ-Containers + (REPO-2) + check REPO-2 + clean REPO-2 ;; - (Pukeko-XYZ-Cloud) - check Pukeko-XYZ-Cloud - clean Pukeko-XYZ-Cloud + (REPO-3) + check REPO-3 + clean REPO-3 ;; (*) show_help;;