From 7889898acbf7023081a23974ac13aafd4949498b Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Wed, 24 Mar 2021 18:26:05 +0100 Subject: Update duply script for local restore --- duply/scripts/duplicity/duply_common.sh | 10 ++++- duply/scripts/duplicity/gen_config_restore.sh | 54 +++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100755 duply/scripts/duplicity/gen_config_restore.sh (limited to 'duply/scripts/duplicity') diff --git a/duply/scripts/duplicity/duply_common.sh b/duply/scripts/duplicity/duply_common.sh index a55bfd6..9e2ef66 100644 --- a/duply/scripts/duplicity/duply_common.sh +++ b/duply/scripts/duplicity/duply_common.sh @@ -30,7 +30,15 @@ read() { . ~/.config/ovh/duplicity-$(whoami).sh #Generate the configuration -~/scripts/duplicity/gen_config_remote.sh "${JSON_CONF}" +case $2 in + restore) + export COLD_PATH=$(zenity --file-selection --directory --title="Chemin des sauvegardes") + ~/scripts/duplicity/gen_config_restore.sh "${JSON_CONF}" + ;; + *) + ~/scripts/duplicity/gen_config_remote.sh "${JSON_CONF}" + ;; +esac TARGET="multi:${JSON_CONF}?mode=mirror&onfail=abort" diff --git a/duply/scripts/duplicity/gen_config_restore.sh b/duply/scripts/duplicity/gen_config_restore.sh new file mode 100755 index 0000000..19e1475 --- /dev/null +++ b/duply/scripts/duplicity/gen_config_restore.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +if test "x${PCA_OS_REGION_NAME}" = x; then + PCA_OS_REGION_NAME=${OS_REGION_NAME} +fi + +if test "x${HOT_OS_REGION_NAME}" = x; then + HOT_OS_REGION_NAME=${OS_REGION_NAME} +fi + +envsubst > $1 << EOF +[ + { + "description": "Cold storage", + "url": "file://${COLD_PATH}", + "prefixes": ["cold_"] + }, + { + "description": "Hot storage", + "url": "swift://${STORAGE_NAME}_indexes", + "env": [ + { + "name": "SWIFT_AUTHURL", + "value": "${OS_AUTH_URL}" + }, + { + "name": "SWIFT_AUTHVERSION", + "value": "${OS_IDENTITY_API_VERSION}" + }, + { + "name": "SWIFT_PROJECT_DOMAIN_NAME", + "value": "${OS_PROJECT_DOMAIN_NAME}" + }, + { + "name": "SWIFT_TENANTID", + "value": "${OS_TENANT_ID}" + }, + { + "name": "SWIFT_USERNAME", + "value": "${OS_USERNAME}" + }, + { + "name": "SWIFT_PASSWORD", + "value": "${OS_PASSWORD}" + }, + { + "name": "SWIFT_REGIONNAME", + "value": "${HOT_OS_REGION_NAME}" + } + ], + "prefixes": ["hot_"] + } +] +EOF -- cgit v1.2.3