Deine zweite Instaz muss ja auch einen eigenen Namen habe...
Hab mir einfach mal das Script aus diesem Forum geschnappt und verdoppelt.
So wird alle 30 Sekunden nach Oscam1 und Oscam2 in den Prozessen gesucht.
Du musst halt die Dateinamen und evtl. Vereichnisse anpassen.
Das Script beim Systemstart einfach mit ausführen.
Soll jetzt nur mal als Vorschlag dienen...
while sleep 30
do
if ps w | grep -v grep | grep -w -c "/var/bin/oscam1 -b"
then
echo "oscam1 is running!"
else
echo `date` "oscam1 is not running.... restarting!!!" >> /var/oscam-watchdog.log
/var/bin/oscam1 -b
fi
if ps w | grep -v grep | grep -w -c "/var/bin/oscam2 -b"
then
echo "oscam2 is running!"
else
echo `date` "oscam2 is not running.... restarting!!!" >> /var/oscam-watchdog.log
/var/bin/oscam2 -b
fi
done
Ist vom Sinn her das gleiche wie mein Vorschlag nur über Cronjob gelöst.
Würde aber auf keinen Fall zwei Cronjobs starten, sondern das ganze in einem Script unterbringen.
Cronjobs können nur alle 1Min. ausgeführt werden, das reicht bei mir auf jeden Fall.
Was mir gerade auffällt...
Das Script ist für IPC geschrieben, auch hier gilt es die Variablen und Verzeichnisse anzupassen.
sooo hab das ganze nun mal auf meine bedürfnisse angepasst und läuft
nur ... wie bau ich 2 scripts in 1 script um ^^?
hier mal die 2 scripts
oscamwatchdog1.sh
#!/bin/sh
LOGFILE="OScam_restart_log.txt"
if [ $(ps aux | grep -v grep | grep -c "/usr/local/bin/oscam1") = 0 ];
then
echo $(date "+%d.%m.%y|%H:%M:%S|OScam (keyserver) wurde neu gestartet") >> /usr/local/$LOGFILE
/usr/local/bin/oscam1 -b -c /usr/local/etc/
else
echo "all fine "
fi
if [ $(ps aux | grep -v grep | grep -c "/usr/local/bin/oscam2") = 0 ];
then
echo $(date "+%d.%m.%y|%H:%M:%S|OScam (reshare) wurde neu gestartet") >> /usr/local/$LOGFILE
/usr/local/bin/oscam2 -b -c /usr/local/oscam/
else
echo "all fine "
fi
if [ $(ps aux | grep -v grep | grep -c "/usr/local/bin/oscam1") = 0 ];
then
echo $(date "+%d.%m.%y|%H:%M:%S|OScam1 (reshare) wurde neu gestartet") >> /usr/local/$LOGFILE
/usr/local/bin/oscam1 -b -c /usr/local/oscam1/
else
echo "all fine "
fi
if [ $(ps aux | grep -v grep | grep -c "/usr/local/bin/oscam2") = 0 ];
then
echo $(date "+%d.%m.%y|%H:%M:%S|OScam2 (reshare) wurde neu gestartet") >> /usr/local/$LOGFILE
/usr/local/bin/oscam2 -b -c /usr/local/oscam2/
else
echo "all fine "
fi
exit 0
In der Variable LOGFILE solltest du einen kpl. Pfad angeben.
Du musst zwei unterschiedliche Configs in unterschiedlichen Verzeichnissen machen sonst kommen sich die binden Oscams in die Quere.
Hier musst die Ports für Webif und Cams anpassen, das logfile usw.