R
rabadag
Mitglied
Hallo Forum, hab da etwas seltsammes wo ich nicht weiter komme.
Das Script selbst scheint einwandfrei zu funktioniren, nur wird die ausgabe in das logfile immer 5 min lang unterbrochen.
Ich weis nicht wo mein Fehler sein könnte, das die logfile immer einfrieren?
$PROGPATH ${d} 2>&1 > /var/log/new-${d}.log
hier mal mein code.
Das Script selbst scheint einwandfrei zu funktioniren, nur wird die ausgabe in das logfile immer 5 min lang unterbrochen.
Ich weis nicht wo mein Fehler sein könnte, das die logfile immer einfrieren?
$PROGPATH ${d} 2>&1 > /var/log/new-${d}.log
hier mal mein code.
Code:
#!/bin/bash
PIDFILE=/var/run/car1.pid
PIDFILE2=/var/run/car2.pid
PIDFILE3=/var/run/new.pid
PROGRAM=car.i386
PROGPATH=/usr/local/etc/car1/car1.i386
PROGPATH1=/usr/local/etc/car1/2.i386
PROGPATHCS=/usr/local/etc/new/new.x86
PROGCONF="spezial.conf"
PROGDIR=/usr/local/etc/car1
PROGDIRCS=/usr/local/etc/new/configs
PROGARGS=""
DESC="Programm1 configs"
DESC1="Programm2 config"
DESC2="New"
ECHO=/bin/echo
HEAD=/usr/bin/head
KILL=/bin/kill
CAT=/bin/cat
if [ ! -x $ECHO ]; then
exit 1
fi
if [ ! -x $HEAD ]; then
$ECHO "*** $0: error: $HEAD is needed and was not found."
exit 1
fi
if [ ! -x $KILL ]; then
$ECHO "*** $0: error: kill is needed and was not found."
exit 1
fi
if [ -z $1 ]; then
$ECHO "USAGE: $0 <stop | start>"
exit 1
fi
if [ ! -x $PROGPATH ]; then
echo "$PROGPATH does not exist or is not executable."
exit 1
fi
case $1 in
start)
if [ -r $PIDFILE ]; then
PID=$($CAT $PIDFILE)
PID2=$($CAT $PIDFILE2)
PID3=$($CAT $PIDFILE3)
if $($KILL -s CHLD $PID 2>&1 > /dev/null)
then
echo "$DESC läuft bereits! run $0 stop und danach start"
if $($KILL -s CHLD $PID2 2>&1 > /dev/null)
then
echo "$DESC1 läuft bereits! run $0 stop und danach start"
fi
if $($KILL -s CHLD $PID3 2>&1 > /dev/null)
then
echo "$DESC3 läuft bereits! run $0 stop und danach start"
fi
exit 1
fi
else
$ECHO "Starte $DESC... und $DESC1 "
cd $PROGDIR
for d in `ls -a *.cfg`; do
$PROGPATH ${d} 2>&1 > /var/log/car-${d}.log
done
cd $PROGDIRCS
for e in `ls -a *.xml`; do
$PROGPATHCS -c $PROGDIRCS/${e} 2>&1 > /var/log/new-${e}.log
done
$PROGPATH1 $PROGCONF 2>&1 > /var/log/car-$PROGCONF.log
ps aux | grep car1.i386 | grep -v grep | awk '{print $2}' > $PIDFILE;
ps aux | grep car2.i386 | grep -v grep | awk '{print $2}' > $PIDFILE2;
ps aux | grep new.i386 | grep -v grep | awk '{print $2}' > PIDFILE3;
$ECHO "$DESC...${d} und $DESC2 ${e} sowie $DESC1 erfolgreich gestartet"
fi
;;
stop)
if [ -r $PIDFILE ]; then
PID=$($CAT $PIDFILE)
PID2=$($CAT $PIDFILE2)
PID3=$($CAT $PIDFILE3)
$ECHO -n "Beende $DESC..."
$KILL -s TERM $PID 2>&1 > /dev/null
rm -f $PIDFILE 2>&1 > /dev/null
$ECHO "$DESC.. erfogreich beendet Fertig."
$ECHO -n "Beende $DESC1..."
$KILL -s TERM $PID2 2>&1 > /dev/null
rm -f $PIDFILE2 2>&1 > /dev/null
$ECHO "$DESC1 erfogreich beendet Fertig."
$ECHO -n "Beende $DESC2..."
$KILL -s TERM $PID3 2>&1 > /dev/null
rm -f $PIDFILE3 2>&1 > /dev/null
$ECHO "$DESC2 erfogreich beendet Fertig."
else
echo "$DESC.. $DESC1..$DESC2 Sind nicht gestartet"
exit 1
fi
;;
*)
$ECHO "USAGE: $0 <stop | start>"
exit 1
;;
esac
unset PIDFILE PROGRAM PROGPATH PROGARGS DESC ECHO HEAD KILL
exit 0
#EOF
;;
Zuletzt bearbeitet: