From 47e742866015ec90eee0e3f5bcda3d8d3a26c4a8 Mon Sep 17 00:00:00 2001 From: barofsoap Date: Wed, 19 Dec 2012 15:01:40 -0800 Subject: [PATCH] FreeBSD portability (du, mail, & shebang) --- duplicity-backup.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/duplicity-backup.sh b/duplicity-backup.sh index 3f130b8..ffd230f 100755 --- a/duplicity-backup.sh +++ b/duplicity-backup.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # # Copyright (c) 2008-2010 Damon Timm. # Copyright (c) 2010 Mario Santagiuliana. @@ -246,12 +246,15 @@ email_logfile() EMAIL_SUBJECT=${EMAIL_SUBJECT:="duplicity-backup alert ${LOG_FILE}"} if [ "$MAIL" = "ssmtp" ]; then echo """Subject: ${EMAIL_SUBJECT}""" | cat - ${LOGFILE} | ${MAILCMD} -s ${EMAIL_TO} - elif [ "$MAIL" = "mailx" ]; then EMAIL_FROM=${EMAIL_FROM:+"-r ${EMAIL_FROM}"} cat ${LOGFILE} | ${MAILCMD} -s """${EMAIL_SUBJECT}""" $EMAIL_FROM ${EMAIL_TO} elif [ "$MAIL" = "mail" ]; then - cat ${LOGFILE} | ${MAILCMD} -s """${EMAIL_SUBJECT}""" $EMAIL_FROM ${EMAIL_TO} -- -f ${EMAIL_FROM} + if [ `uname` == "FreeBSD" ]; then + cat ${LOGFILE} | mail -s """${EMAIL_SUBJECT}""" ${EMAIL_TO} -- + else + cat ${LOGFILE} | ${MAILCMD} -s """${EMAIL_SUBJECT}""" $EMAIL_FROM ${EMAIL_TO} -- -f ${EMAIL_FROM} + fi fi echo -e "Email alert sent to ${EMAIL_TO} using ${MAIL}" >> ${LOGFILE} fi @@ -282,6 +285,11 @@ get_source_file_size() # Remove space as a field separator temporarily OLDIFS=$IFS IFS=$(echo -en "\t\n") + + DUEXCFLAG="--exclude-from" + if [ `uname` == 'FreeBSD' ]; then + DUEXCFLAG="-I" + fi for exclude in ${EXCLIST[@]}; do DUEXCLIST="${DUEXCLIST}${exclude}\n" @@ -290,7 +298,7 @@ get_source_file_size() for include in ${INCLIST[@]} do echo -e '"'$DUEXCLIST'"' | \ - du -hs --exclude-from="-" ${include} | \ + du -hs ${DUEXCFLAG}="-" ${include} | \ awk '{ FS="\t"; $0=$0; print $1"\t"$2 }' \ >> ${LOGFILE} done