#!/bin/bash
#
# backup-script system for cloning systems using rsync
-# Copyright (c)2008-2015 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
fi
NAME="backup-script"
+
+DELIMITER="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
HOST=`hostname -f`
+LOGFILE="/var/log/$NAME.log"
+PIDFILE="/var/run/$NAME.pid"
+SUBJECT="$NAME results"
TMP=`mktemp /tmp/$NAME.XXXXXXXX` || exit 1
-LOGFILE="/var/log/backup-script.log"
-DELIMITER="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
export PATH
+# check PID file ("lock file")
+if [ -e "$PIDFILE" ]; then
+ echo "Lockfile \"$PIDFILE\" already exists."
+ echo "Is an other instance still running?"
+ echo
+ echo -n "Aborted: "; date
+ echo
+ exit 4
+fi
+
exec >"$TMP" 2>&1
echo "$NAME Report"
echo " - Host: `hostname -f`"
echo " - User: `id -un`"
echo
+echo "Command:"
+echo "$0" "$@"
+echo
if echo "$DELIMITER" >>"$LOGFILE" 2>/dev/null; then
echo >>"$LOGFILE"
echo "(Can't write logfile: \"$LOGFILE\"!)"
fi
-cat "$TMP" | mail -s "$HOST: $NAME results" "$MAILTO"
+case "$r" in
+ 0)
+ ;;
+ *)
+ SUBJECT="$SUBJECT - with ERRORS!"
+esac
+
+cat "$TMP" | mail -s "$HOST: $SUBJECT" "$MAILTO"
rm -f "$TMP"
exit $r