diff --git a/src/scripts/backup_nocloud.sh b/src/scripts/backup_nocloud.sh index f2a0d38ba2c03f69610c07bfeb21571e295a797a..69abc4fbdf48cc0dc6d61befdf9ed7081b06df6b 100755 --- a/src/scripts/backup_nocloud.sh +++ b/src/scripts/backup_nocloud.sh @@ -133,7 +133,12 @@ liberer_espace(){ $@ ret=$? else - test_and_fail 1 "l'action '$@' a planté innopinement" + if $warn_only + then + echo "l'action $@ a indiqué des erreurs, mais la sauvegarde continue" + else + test_and_fail 1 "l'action '$@' a planté innopinement" + fi fi } @@ -157,6 +162,9 @@ usage(){ echo " -i | --interrupt list Interrompt les services donnés (liste séparé par des virgules) durant la création de l'archive tar." + echo " -w | --warnonly En cas d'erreur d'une action de sauvegarde, + le programme affiche un message mais ne + s'nterrompt pas" } dest=/mnt/backup @@ -171,13 +179,14 @@ postgres=false encfs=false archive=false MIN_SIZE=$((1024*1024)) +warn_only=false # Transform long options to short ones for arg in "$@"; do shift set -- "$@" `echo $arg | sed 's/^-\(-.\).*$/\1/'` done -optspec=":hvdcgus:mpe:i:a" +optspec=":hvdcgusw:mpe:i:a" while getopts "$optspec" optchar; do case "${optchar}" in h) @@ -224,6 +233,9 @@ while getopts "$optspec" optchar; do i) SERVICES="${OPTARG//,/ }" ;; + w) + warn_only=true; + ;; *) echo "Option inconnue -$optchar" usage