bbfafcab0cc00cbc272946b628918c69a793d846

Author
zertrin <zertrin@gmail.com>
Committer
zertrin <zertrin@gmail.com>
Date

Message

Merge branch 'paszczus-master' into dev

Diff

  1diff --git a/duplicity-backup.conf.example b/duplicity-backup.conf.example
  2index ca2e0aebe4fef837406cd0c754be32285d065f5f..16bc6b2139ecb85095b6e1afa1bda8786a787551 100644
  3--- a/duplicity-backup.conf.example
  4+++ b/duplicity-backup.conf.example
  5@@ -77,6 +77,10 @@
  6 #
  7 ROOT="/home"
  8 
  9+# Set hostname for this duplicity instance, usefull for e-mail reports
 10+#
 11+HOSTNAME=$(hostname -f)
 12+
 13 # ------------------------------------------------------------------------------
 14 # BACKUP DESTINATION INFORMATION
 15 # ------------------------------------------------------------------------------
 16@@ -371,6 +375,7 @@ VERBOSITY="-v3"
 17 EMAIL_TO=
 18 EMAIL_FROM=
 19 EMAIL_SUBJECT=
 20+EMAIL_FAILURE_ONLY="yes" # send e-mail only if there was an error while creating backup
 21 
 22 # command to use to send mail
 23 MAIL="mailx"     # default command for Linux mail
 24diff --git a/duplicity-backup.sh b/duplicity-backup.sh
 25index 2c6c9c09b2d72303324a579bd214d28de12e8028..699c590601711e4a2fdc4d8249614b86a162f22a 100755
 26--- a/duplicity-backup.sh
 27+++ b/duplicity-backup.sh
 28@@ -540,29 +540,41 @@ duplicity_cleanup()
 29 {
 30   echo "----------------[ Duplicity Cleanup ]----------------" >> ${LOGFILE}
 31   if [[ "${CLEAN_UP_TYPE}" != "none" && ! -z ${CLEAN_UP_TYPE} && ! -z ${CLEAN_UP_VARIABLE} ]]; then
 32-    eval ${ECHO} ${DUPLICITY} ${CLEAN_UP_TYPE} ${CLEAN_UP_VARIABLE} ${STATIC_OPTIONS} --force \
 33-      ${ENCRYPT} \
 34-      ${DEST} >> ${LOGFILE}
 35+    {
 36+      eval ${ECHO} ${DUPLICITY} ${CLEAN_UP_TYPE} ${CLEAN_UP_VARIABLE} ${STATIC_OPTIONS} --force \
 37+        ${ENCRYPT} \
 38+        ${DEST} >> ${LOGFILE}
 39+    } || {
 40+      BACKUP_ERROR=1
 41+    }
 42     echo >> ${LOGFILE}
 43   fi
 44   if [ ! -z ${REMOVE_INCREMENTALS_OLDER_THAN} ] && [[ ${REMOVE_INCREMENTALS_OLDER_THAN} =~ ^[0-9]+$ ]]; then
 45-    eval ${ECHO} ${DUPLICITY} remove-all-inc-of-but-n-full ${REMOVE_INCREMENTALS_OLDER_THAN} \
 46-      ${STATIC_OPTIONS} --force \
 47-      ${ENCRYPT} \
 48-      ${DEST} >> ${LOGFILE}
 49+    {
 50+      eval ${ECHO} ${DUPLICITY} remove-all-inc-of-but-n-full ${REMOVE_INCREMENTALS_OLDER_THAN} \
 51+        ${STATIC_OPTIONS} --force \
 52+        ${ENCRYPT} \
 53+        ${DEST} >> ${LOGFILE}
 54+    } || {
 55+      BACKUP_ERROR=1
 56+    }
 57     echo >> ${LOGFILE}
 58   fi
 59 }
 60 
 61 duplicity_backup()
 62 {
 63-  eval ${ECHO} ${DUPLICITY} ${OPTION} ${VERBOSITY} ${STATIC_OPTIONS} \
 64-  ${ENCRYPT} \
 65-  ${EXCLUDE} \
 66-  ${INCLUDE} \
 67-  ${EXCLUDEROOT} \
 68-  ${ROOT} ${DEST} \
 69-  >> ${LOGFILE}
 70+  {
 71+    eval ${ECHO} ${DUPLICITY} ${OPTION} ${VERBOSITY} ${STATIC_OPTIONS} \
 72+    ${ENCRYPT} \
 73+    ${EXCLUDE} \
 74+    ${INCLUDE} \
 75+    ${EXCLUDEROOT} \
 76+    ${ROOT} ${DEST} \
 77+    >> ${LOGFILE}
 78+  } || {
 79+    BACKUP_ERROR=1
 80+  }
 81 }
 82 
 83 setup_passphrase()
 84@@ -680,7 +692,7 @@ backup_this_script()
 85 check_variables
 86 check_logdir
 87 
 88-echo -e "--------    START DUPLICITY-BACKUP SCRIPT    --------\n" >> ${LOGFILE}
 89+echo -e "--------    START DUPLICITY-BACKUP SCRIPT for ${HOSTNAME}   --------\n" >> ${LOGFILE}
 90 
 91 get_lock
 92 
 93@@ -832,7 +844,20 @@ esac
 94 
 95 echo -e "---------    END DUPLICITY-BACKUP SCRIPT    ---------\n" >> ${LOGFILE}
 96 
 97-email_logfile
 98+if [ ${EMAIL_FAILURE_ONLY} == "yes" ]
 99+then
100+  if [ ${BACKUP_ERROR} ]; then
101+    EMAIL_SUBJECT="BACKUP ERROR: ${EMAIL_SUBJECT}"
102+    email_logfile
103+  fi
104+else
105+  if [ ${BACKUP_ERROR} ]; then
106+    EMAIL_SUBJECT="BACKUP ERROR: ${EMAIL_SUBJECT}"
107+  else
108+    EMAIL_SUBJECT="BACKUP OK: ${EMAIL_SUBJECT}"
109+  fi
110+  email_logfile
111+fi
112 
113 # remove old logfiles
114 # stops them from piling up infinitely