aboutsummaryrefslogtreecommitdiff
path: root/handlers/rsync.in
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2012-06-29 22:41:41 +0200
committerintrigeri <intrigeri@boum.org>2012-06-29 22:41:41 +0200
commit371b86d1be5c81febffd3d9f733089bacf43c0dc (patch)
tree40634547019ba90488b17a4d657246f41abf691b /handlers/rsync.in
parent713ec859fccd9546605c3e82c3bf2da9932a1d6a (diff)
downloadbackupninja-371b86d1be5c81febffd3d9f733089bacf43c0dc.tar.gz
backupninja-371b86d1be5c81febffd3d9f733089bacf43c0dc.tar.bz2
Imported Upstream version 1.0.1
Diffstat (limited to 'handlers/rsync.in')
-rw-r--r--handlers/rsync.in25
1 files changed, 21 insertions, 4 deletions
diff --git a/handlers/rsync.in b/handlers/rsync.in
index f0df52f..1954fc1 100644
--- a/handlers/rsync.in
+++ b/handlers/rsync.in
@@ -1096,6 +1096,26 @@ function restore_pipefail {
}
+function check_rsync_exit_status {
+
+ if [ -z "$1" ]; then
+ return
+ fi
+
+ case $1 in
+ 0)
+ return
+ ;;
+ 1|2|3|4|5|6|10|11|12|13|14|21)
+ fatal "Rsync error $1 when trying to transfer $SECTION"
+ ;;
+ *)
+ warning "Rsync error $1 when trying to transfer $SECTION"
+ ;;
+ esac
+
+}
+
# the backup procedure
eval_config
@@ -1120,10 +1140,7 @@ for SECTION in $include; do
set_pipefail
$nice su -c "$rsync ${rsync_options[@]} --delete-excluded $filelist_flag $excludes $batch_option $orig $dest_path" | tee -a $log
- if [ "$?" != "0" ]; then
- fatal "Rsync error when trying to transfer $SECTION"
- fi
-
+ check_rsync_exit_status $?
restore_pipefail
update_metadata