X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=bin%2Fbackup-script-wrapper;h=456f468df17a819314aec23e04f2a8106ed9bcf7;hb=26502cec0f7050eff16a5861f0b136917c2b2e22;hp=f877a5b912b7c5c882c1ddd50e109717d6c9b840;hpb=985f3c45e7ab15b31e943317385ab84b7436ef90;p=backup-script.git diff --git a/bin/backup-script-wrapper b/bin/backup-script-wrapper index f877a5b..456f468 100755 --- a/bin/backup-script-wrapper +++ b/bin/backup-script-wrapper @@ -1,7 +1,7 @@ #!/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 @@ -21,13 +21,27 @@ if [ -z "$MAILTO" ]; then fi NAME="backup-script" -HOST=`hostname` -TMP=`mktemp /tmp/$NAME.XXXXXXXX` || exit 11 -LOGFILE="/var/log/backup-script.log" + +DELIMITER="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -" +HOST=`hostname -f` +LOGFILE="/var/log/$NAME.log" +PIDFILE="/var/run/$NAME.pid" +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 +# 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" @@ -35,16 +49,30 @@ echo echo " - Host: `hostname -f`" echo " - User: `id -un`" echo +echo "Command:" +echo "$0" "$@" +echo -if [ -w "$LOGFILE" ]; then +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 -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 # -eof-