Compare commits

..

1 Commits

Author SHA1 Message Date
7adc47279c Inventory is no more
All checks were successful
Configure Kumonoboru / deploy (push) Successful in 1m6s
2023-11-21 23:03:22 +02:00
2 changed files with 34 additions and 36 deletions

View File

@@ -1,5 +0,0 @@
all:
hosts:
takahe:
ansible_host: 192.168.0.66
ansible_user: shmick

View File

@@ -1,6 +1,5 @@
#!/bin/bash #!/bin/bash
## Script to run Restic backups to a B2 backend. ##Simple script to run Restic backups
## It makes sure each of the preconfigured repositories can be safely backed up.
show_help() show_help()
{ {
@@ -11,9 +10,9 @@ show_help()
echo " {-v|--verbose} -- Print debug messages" 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 "Available repositories:"
echo "REPO-1 stuff (path: /stuff/stuff1)" echo "Gerbil-TK Photos (path: /var/Red-Vol/Media/Pictures)"
echo "REPO-2 other stuff (path: /stuff/stuff2)" echo "Pukeko-XYZ-Containers Containers (path: /var/Red-Vol/Media/Containers)"
echo "REPO-3 more stuff (path: /stuff/stuff3)" echo "Pukeko-XYZ-Cloud Data from all devices (path: /var/Red-Vol/Media/Cloud)"
exit 0 exit 0
} }
#Pass arguments to the script #Pass arguments to the script
@@ -45,7 +44,7 @@ flags()
} }
flags "$@" flags "$@"
## Defaults #Defaults
if [[ -z $BWLIMIT ]]; then if [[ -z $BWLIMIT ]]; then
export BWLIMIT="0" export BWLIMIT="0"
else else
@@ -58,6 +57,10 @@ if [[ -n $REPOSITORY ]]; then
echo -e "Will only process repository" "$1" echo -e "Will only process repository" "$1"
fi 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 function; accepts repository to check
safety(){ safety(){
@@ -128,24 +131,24 @@ clean(){
#If cleaning was forced, or if it's the first of this month - clean. #If cleaning was forced, or if it's the first of this month - clean.
if [[ -n $CLEAN ]] || [[ $(date +%d) == "1" ]]; then if [[ -n $CLEAN ]] || [[ $(date +%d) == "1" ]]; then
check REPO-1 check Gerbil-TK
clean REPO-1 clean Gerbil-TK
check REPO-2 check Pukeko-XYZ-Containers
clean REPO-2 clean Pukeko-XYZ-Containers
check REPO-3 check Pukeko-XYZ-Cloud
clean REPO-3 clean Pukeko-XYZ-Cloud
#If a specific repository was requested, back it up; otherwise, back them all up. #If a specific repository was requested, back it up; otherwise, back them all up.
elif [[ -n $REPOSITORY ]] && [[ -z $CLEAN ]]; then elif [[ -n $REPOSITORY ]] && [[ -z $CLEAN ]]; then
case "$REPOSITORY" in case "$REPOSITORY" in
(REPO-1) (Gerbil-TK)
backup REPO-1 /stuff/stuff1/ backup Gerbil-TK /var/Red-Vol/Media/Pictures/
;; ;;
(REPO-2) (Pukeko-XYZ-Containers)
backup REPO-2 /stuff/stuff2/ backup Pukeko-XYZ-Containers /var/Red-Vol/Media/Containers/
;; ;;
(REPO-3) (Pukeko-XYZ-Cloud)
backup REPO-3 /stuff/stuff3/ backup Pukeko-XYZ-Cloud /var/Red-Vol/Media/Cloud/
;; ;;
(*) (*)
show_help;; show_help;;
@@ -153,24 +156,24 @@ elif [[ -n $REPOSITORY ]] && [[ -z $CLEAN ]]; then
#If cleaning was not forced, backup the repositories #If cleaning was not forced, backup the repositories
elif [[ -z $CLEAN ]]; then elif [[ -z $CLEAN ]]; then
backup REPO-1 /stuff/stuff1/ backup Gerbil-TK /var/Red-Vol/Media/Pictures/
backup REPO-2 /stuff/stuff2/ backup Pukeko-XYZ-Containers /var/Red-Vol/Media/Containers/
backup REPO-3 /stuff/stuff3/ backup Pukeko-XYZ-Cloud /var/Red-Vol/Media/Cloud/
#If a specific repository was requested to be cleaned, clean it #If a specific repository was requested to be cleaned, clean it
elif [[ -n $REPOSITORY ]] && [[ -n $CLEAN ]]; then elif [[ -n $REPOSITORY ]] && [[ -n $CLEAN ]]; then
case "$REPOSITORY" in case "$REPOSITORY" in
(REPO-1) (Gerbil-TK)
check REPO-1 check Gerbil-TK
clean REPO-1 clean Gerbil-TK
;; ;;
(REPO-2) (Pukeko-XYZ-Containers)
check REPO-2 check Pukeko-XYZ-Containers
clean REPO-2 clean Pukeko-XYZ-Containers
;; ;;
(REPO-3) (Pukeko-XYZ-Cloud)
check REPO-3 check Pukeko-XYZ-Cloud
clean REPO-3 clean Pukeko-XYZ-Cloud
;; ;;
(*) (*)
show_help;; show_help;;