Warum funktioniert dieses Script nicht so wie es soll?

24/11/2007 - 09:25 von Michael Hagedorn | Report spam
Hi.
Wer hat eine Erklàrung, warum dieses Script nicht so làuft, wie es
eigentlich soll? Ich bekomme tàglich die Warn-E-Mail, obwohl sie nur
dann rausgeschickt werden soll, wenn es das Lockfile noch gibt und
flexbackup damit doppelt làuft.
Das ist aber nicht der Fall (ps aux|grep flex meldet jedenfalls nichts
gegeteiliges).
Was geht hier schief? Ich habe schon versucht, das lockfile per Hand zu
löschen. Dann ist einen Tag Ruhe aber am übernàchsten bekomme ich die
eMail trotzdem wieder

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#! /bin/bash
# Backup aufs Band!
# Here we go:
/usr/sbin/mtx -f /dev/sg1 status
sleep 10
ANZ=0
DAY=`date +%A`
echo $DAY : "Das taegliche Backup wird durchgefuehrt..."

LOCKFILE=/var/lock/flexbackup

if [ -e ${LOCKFILE} ]
then echo "Flexbackup kontrollieren -- laeuft mehrfach..." | mail
-s "Warnung: Flexbackup dreht durch" alert
exit 0
else
touch ${LOCKFILE}

case "$DAY" in
Montag) /usr/bin/flexbackup -set backup -incremental;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

Dienstag) /usr/bin/flexbackup -set backup -incremental;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

Mittwoch) /usr/bin/flexbackup -set backup -incremental;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

Donnerstag) /usr/bin/flexbackup -set backup -incremental;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

Freitag) /usr/bin/flexbackup -set backup -full;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

Samstag) /usr/bin/flexbackup -set full_s1 -full;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

Sonntag) /usr/bin/flexbackup -set full_s2 -full;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

*) echo "Falscher Wochentag?" ;;
esac

echo $DAY : "Das Backup wurde durchgefuehrt."
rm -f ${LOCKFILE}
exit 0
fi

#EOF
 

Lesen sie die antworten

#1 Cyrus Kriticos
24/11/2007 - 09:49 | Warnen spam
Michael Hagedorn wrote:

Wer hat eine Erklàrung, warum dieses Script nicht so làuft, wie es
eigentlich soll? Ich bekomme tàglich die Warn-E-Mail, obwohl sie nur
dann rausgeschickt werden soll, wenn es das Lockfile noch gibt und
flexbackup damit doppelt làuft.
Das ist aber nicht der Fall (ps aux|grep flex meldet jedenfalls nichts
gegeteiliges).
Was geht hier schief? Ich habe schon versucht, das lockfile per Hand zu
löschen. Dann ist einen Tag Ruhe aber am übernàchsten bekomme ich die
eMail trotzdem wieder

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#! /bin/bash
# Backup aufs Band!
# Here we go:
/usr/sbin/mtx -f /dev/sg1 status
sleep 10
ANZ=0
DAY=`date +%A`
echo $DAY : "Das taegliche Backup wird durchgefuehrt..."

LOCKFILE=/var/lock/flexbackup

if [ -e ${LOCKFILE} ]
then echo "Flexbackup kontrollieren -- laeuft mehrfach..." | mail -s
"Warnung: Flexbackup dreht durch" alert
exit 0
else
touch ${LOCKFILE}

case "$DAY" in
Montag) /usr/bin/flexbackup -set backup -incremental;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

Dienstag) /usr/bin/flexbackup -set backup -incremental;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

Mittwoch) /usr/bin/flexbackup -set backup -incremental;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

Donnerstag) /usr/bin/flexbackup -set backup -incremental;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

Freitag) /usr/bin/flexbackup -set backup -full;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

Samstag) /usr/bin/flexbackup -set full_s1 -full;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

Sonntag) /usr/bin/flexbackup -set full_s2 -full;
sleep 60;
/usr/bin/flexbackup -toc;
sleep 20;
/usr/sbin/mtx -f /dev/sg1 unload; ;;

*) echo "Falscher Wochentag?" ;;
esac

echo $DAY : "Das Backup wurde durchgefuehrt."
rm -f ${LOCKFILE}
exit 0
fi

#EOF



Starte es mal von Hand und schau ob das Script in der rm-Zeile vorbei kommt.

bash -x SCRIPTNAME

Best regards | Be nice to America or they'll bring democracy to
Cyrus | your country.

Ähnliche fragen