]> arthur.barton.de Git - backup-script.git/blobdiff - bin/backup-script-wrapper
Exit with code 7 when not all jobs have been run
[backup-script.git] / bin / backup-script-wrapper
index d069670bde80aa0dc253a37d8bc0b42618bcbdcd..62c04b04a14a06db1d477211467168ea9c0bef3b 100755 (executable)
@@ -1,7 +1,7 @@
-#!/bin/sh
+#!/bin/bash
 #
 # backup-script system for cloning systems using rsync
-# Copyright (c)2008-2013 Alexander Barton, alex@barton.de
+# Copyright (c)2008-2015 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
 # 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 fgrep "logcheck:" /etc/aliases >/dev/null 2>&1; then
+               MAILTO="logcheck"
+       else
+               MAILTO="root"
+       fi
+fi
 
 NAME="backup-script"
 HOST=`hostname`
-TMP="/tmp/$NAME.$$"
+TMP=`mktemp /tmp/$NAME.XXXXXXXX` || exit 1
+LOGFILE="/var/log/backup-script.log"
 
 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
 
-`dirname "$0"`/backup-script $* >>$TMP 2>&1
+echo "$NAME Report"
+echo
+echo " - Host: `hostname -f`"
+echo " - User: `id -un`"
+echo
 
-cat $TMP | mail -s "$HOST: $NAME results" "$MAILTO"
+if [ -w "$LOGFILE" ]; then
+       "$(dirname "$0")/backup-script" "$@" | tee -a "$LOGFILE"
+       r=${PIPESTATUS[0]}
+else
+       "$(dirname "$0")/backup-script" "$@"
+       r=$?
+       echo "(Can't write logfile: \"$LOGFILE\"!)"
+fi
 
-rm -f $TMP
+cat "$TMP" | mail -s "$HOST: $NAME results" "$MAILTO"
+
+rm -f "$TMP"
+exit $r
 
 # -eof-