diff options
author | Sébastien Dailly <sebastien@chimrod.com> | 2021-03-24 18:26:05 +0100 |
---|---|---|
committer | Sébastien Dailly <sebastien@chimrod.com> | 2021-03-24 18:26:05 +0100 |
commit | 7889898acbf7023081a23974ac13aafd4949498b (patch) | |
tree | 3d852cc619f6f20370ee525014b157740717197b /duply/scripts | |
parent | ce7d45cbb37b25801cf9640a824a7c21554ebde9 (diff) |
Update duply script for local restore
Diffstat (limited to 'duply/scripts')
-rw-r--r-- | duply/scripts/duplicity/duply_common.sh | 10 | ||||
-rwxr-xr-x | duply/scripts/duplicity/gen_config_restore.sh | 54 |
2 files changed, 63 insertions, 1 deletions
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 |