47e742866015ec90eee0e3f5bcda3d8d3a26c4a8

Author
barofsoap <fishkid@yahoo.com>
Committer
barofsoap <fishkid@yahoo.com>
Date

Message

FreeBSD portability (du, mail, & shebang)

Diff

 1diff --git a/duplicity-backup.sh b/duplicity-backup.sh
 2index 3f130b8a0c395654c1893ec7a809585c7c3f5890..ffd230f2948cad76cb0517b4a9204d840243a883 100755
 3--- a/duplicity-backup.sh
 4+++ b/duplicity-backup.sh
 5@@ -1,4 +1,4 @@
 6-#!/bin/bash
 7+#!/usr/bin/env bash
 8 #
 9 # Copyright (c) 2008-2010 Damon Timm.
10 # Copyright (c) 2010 Mario Santagiuliana.
11@@ -246,12 +246,15 @@ email_logfile()
12           EMAIL_SUBJECT=${EMAIL_SUBJECT:="duplicity-backup alert ${LOG_FILE}"}
13           if [ "$MAIL" = "ssmtp" ]; then
14             echo """Subject: ${EMAIL_SUBJECT}""" | cat - ${LOGFILE} | ${MAILCMD} -s ${EMAIL_TO}
15-
16           elif [ "$MAIL" = "mailx" ]; then
17             EMAIL_FROM=${EMAIL_FROM:+"-r ${EMAIL_FROM}"}
18             cat ${LOGFILE} | ${MAILCMD} -s """${EMAIL_SUBJECT}""" $EMAIL_FROM ${EMAIL_TO}
19 	  elif [ "$MAIL" = "mail" ]; then
20-	    cat ${LOGFILE} | ${MAILCMD} -s """${EMAIL_SUBJECT}""" $EMAIL_FROM ${EMAIL_TO} -- -f ${EMAIL_FROM}
21+	    if [ `uname` == "FreeBSD" ]; then
22+               cat ${LOGFILE} | mail -s """${EMAIL_SUBJECT}""" ${EMAIL_TO} --
23+            else
24+               cat ${LOGFILE} | ${MAILCMD} -s """${EMAIL_SUBJECT}""" $EMAIL_FROM ${EMAIL_TO} -- -f ${EMAIL_FROM}
25+            fi
26 	  fi
27           echo -e "Email alert sent to ${EMAIL_TO} using ${MAIL}" >> ${LOGFILE}
28       fi
29@@ -282,6 +285,11 @@ get_source_file_size()
30   # Remove space as a field separator temporarily
31   OLDIFS=$IFS
32   IFS=$(echo -en "\t\n")
33+  
34+  DUEXCFLAG="--exclude-from"
35+  if [ `uname` == 'FreeBSD' ]; then 
36+     DUEXCFLAG="-I"
37+  fi
38 
39   for exclude in ${EXCLIST[@]}; do
40     DUEXCLIST="${DUEXCLIST}${exclude}\n"
41@@ -290,7 +298,7 @@ get_source_file_size()
42   for include in ${INCLIST[@]}
43     do
44       echo -e '"'$DUEXCLIST'"' | \
45-      du -hs --exclude-from="-" ${include} | \
46+	      du -hs ${DUEXCFLAG}="-" ${include} | \
47       awk '{ FS="\t"; $0=$0; print $1"\t"$2 }' \
48       >> ${LOGFILE}
49   done