From b6fa63ad42689a0d11e995e870899baef4d3e716 Mon Sep 17 00:00:00 2001 From: cronekorkn Date: Wed, 21 Dec 2022 14:26:16 +0100 Subject: [PATCH] fix lots of backup stuff --- bundles/backup/files/backup_all | 2 ++ bundles/backup/files/backup_path | 6 ++++-- bundles/backup/files/backup_path_via_rsync | 12 +++++++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/bundles/backup/files/backup_all b/bundles/backup/files/backup_all index 0dbb00f..14b9fd9 100644 --- a/bundles/backup/files/backup_all +++ b/bundles/backup/files/backup_all @@ -1,5 +1,7 @@ #!/bin/bash +set -exu + # FIXME: inelegant % if wol_command: ${wol_command} diff --git a/bundles/backup/files/backup_path b/bundles/backup/files/backup_path index a0d91c6..67222b3 100644 --- a/bundles/backup/files/backup_path +++ b/bundles/backup/files/backup_path @@ -1,11 +1,13 @@ #!/bin/bash +set -exu + path=$1 -if zfs list -H -o mountpoint | grep -q "$path" +if zfs list -H -o mountpoint | grep -q "^$path$" then /opt/backup/backup_path_via_zfs "$path" -elif test -d "$path" +elif test -e "$path" then /opt/backup/backup_path_via_rsync "$path" else diff --git a/bundles/backup/files/backup_path_via_rsync b/bundles/backup/files/backup_path_via_rsync index 6a6bb06..651f3bb 100644 --- a/bundles/backup/files/backup_path_via_rsync +++ b/bundles/backup/files/backup_path_via_rsync @@ -7,4 +7,14 @@ uuid=$(jq -r .client_uuid < /etc/backup/config.json) server=$(jq -r .server_hostname < /etc/backup/config.json) ssh="ssh -o ConnectTimeout=5 backup-receiver@$server" -rsync -av --rsync-path="sudo rsync" "$path/" "backup-receiver@$server:/mnt/backups/$uuid$path/" +if test -d "$path" +then + postfix="/" +elif test -f "$path" +then + postfix="" +else + exit 1 +fi + +rsync -av --rsync-path="sudo rsync" "$path$postfix" "backup-receiver@$server:/mnt/backups/$uuid$path$postfix"