X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=bin%2Fbackup-script-wrapper;h=64c9d7d8fef8832d627547010d2c38943ecad0dc;hb=0d32f728b4b1d8f944d2a8bcb9f883882111d36d;hp=282a9c9b16ad43b8f95eedb0b652eeb7e42fd536;hpb=f4eb2ce871577db31d150c06daaf3b874f19e15f;p=backup-script.git diff --git a/bin/backup-script-wrapper b/bin/backup-script-wrapper index 282a9c9..64c9d7d 100755 --- a/bin/backup-script-wrapper +++ b/bin/backup-script-wrapper @@ -1,7 +1,7 @@ -#!/bin/sh +#!/bin/bash # # backup-script system for cloning systems using rsync -# Copyright (c)2008-2014 Alexander Barton, alex@barton.de +# Copyright (c)2008-2016 Alexander Barton, alex@barton.de # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -10,25 +10,59 @@ # Please read the file COPYING, README and AUTHORS for more information. # -[ -n "$MAILTO" ] || MAILTO="logcheck" +if [ -z "$MAILTO" ]; then + if id "logcheck" >/dev/null 2>&1; then + MAILTO="logcheck" + elif grep -F "logcheck:" /etc/aliases >/dev/null 2>&1; then + MAILTO="logcheck" + else + MAILTO="root" + fi +fi NAME="backup-script" -HOST=`hostname` -TMP=`mktemp /tmp/$NAME.XXXXXXXX` || exit 11 + +DELIMITER="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -" +HOST=$(hostname -f) +LOGFILE="/var/log/$NAME.log" +SUBJECT="$NAME results" +TMP=$(mktemp /tmp/$NAME.XXXXXXXX) || exit 1 PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" export PATH -echo "$NAME Report" >$TMP -echo >>$TMP -echo " - Host: `hostname -f`" >>$TMP -echo " - User: `id -un`" >>$TMP -echo >>$TMP +exec >"$TMP" 2>&1 + +echo "$NAME Report" +echo +echo " - Host: $(hostname -f)" +echo " - User: $(id -un)" +echo +echo "Command:" +echo "$0" "$@" +echo + +if echo "$DELIMITER" >>"$LOGFILE" 2>/dev/null; then + echo >>"$LOGFILE" + "$(dirname "$0")/backup-script" "$@" | tee -a "$LOGFILE" + r=${PIPESTATUS[0]} +else + "$(dirname "$0")/backup-script" "$@" + r=$? + echo "(Can't write logfile: \"$LOGFILE\"!)" +fi -`dirname "$0"`/backup-script $* >>$TMP 2>&1 +case "$r" in + 0) + SUBJECT="$SUBJECT - success" + ;; + *) + SUBJECT="$SUBJECT - with ERRORS!" +esac -cat $TMP | mail -s "$HOST: $NAME results" "$MAILTO" +mail -s "$HOST: $SUBJECT" "$MAILTO" <"$TMP" -rm -f $TMP +rm -f "$TMP" +exit $r # -eof-