#!/bin/bash
# IPC - MASTERSCRIPT (Camd3)
#
. /var/emu/script/functions.sh
readipccfg
[ -z $CDVERSION ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
[ -z $CDBIN ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
[ -z $CDCFG ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
[ -z $CDLOGFILE ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler!\033[0m" && exit 1
[ -z $CRON ] && clear && echo -e "\033[1;31mIPC - Paket Konfigurationsfehler!\033[0m" && exit 1
CAMNAME="$CDNAME"
controllCamd3="$CAMBINS/camd3/pcamd"
if [ ! -f "$CDBIN" ]; then
echo ""
echo -e "\e[1;31m$CAMNAME wurde deaktiviert!"
echo -e "Zum Re-aktivieren: \e[0;32mi cams\033[0m"
echo ""
exit 1
fi
# This method starts Camd3
start_cam() {
if [ ! -z "$CDLOGFILE" ]; then
$CDBIN $CDCFG >$CDLOGFILE &
else
$CDBIN $CDCFG &
fi
if [ $? -ne "0" ]; then
echo "Fehler beim starten von $CAMNAME!"
else
echo "$CAMNAME : gestartet"
fi
}
# This method starts Camd3 with Logging to Console
log_cam() {
$CDBIN $CDCFG &
if [ $? -ne "0" ]; then
echo "\033[1;31mFehler beim starten von $CAMNAME!\033[0m"
fi
}
# This method stops Camd3
stop_cam() {
$controllCamd3 -kill >/dev/null 2>&1
pkill -9 $CDVERSION >/dev/null 2>&1
sleep 2
PID="$(pgrep -x $CDVERSION)"
if [[ ! -n $PID ]] ; then
echo "$CAMNAME : beendet"
else
pkill -9 $CDVERSION
echo "$CAMNAME : gekillt"
fi
}
case "$1" in
start)
PID="$(ps auxw | grep -v grep | grep -v $0 | grep $CDVERSION | awk {'print $2'})"
if [[ ! -z $PID ]] ; then
echo "$CAMNAME : ist bereits gestartet"
else
start_cam
if [[ $CRON == 1 ]]; then
PID="$(pgrep -x cron)"
if [[ ! -z $PID ]] ; then
dummy="1"
else
/etc/init.d/cron start > /dev/null
echo "Cron : gestartet"
fi
fi
fi
;;
lstart)
PID="$(ps auxw | grep -v grep | grep -v $0 | grep $CDVERSION | awk {'print $2'})"
if [[ ! -z $PID ]] ; then
echo "$CAMNAME : ist bereits gestartet"
else
log_cam
echo "$CAMNAME : wurde mit ConsolenLog gestartet."
fi
;;
stop)
PID="$(ps auxw | grep -v grep | grep -v $0 | grep $CDVERSION | awk {'print $2'})"
if [[ ! -z $PID ]] ; then
stop_cam
if [[ $CRON == 1 ]]; then
PID="$(pgrep -x cron)"
if [[ ! -z $PID ]] ; then
/etc/init.d/cron stop > /dev/null
echo "Cron : beendet"
else
echo "Cron : ist bereits beendet"
fi
fi
else
echo "$CAMNAME : ist bereits beendet"
fi
;;
restart)
echo "$CAMNAME : restart"
stop_cam
sleep 3
start_cam
;;
help)
clear
less $CAMBINS/script/camd3-help.txt
;;
log)
clear
echo "$CAMNAME Log - Abbrechen mit [Strg]+[C] $(date +"%d.%m.%Y %H:%M")"
echo "==============================================================================="
echo ""
if [ -f $CDLOGFILE ] ; then
tail -f $CDLOGFILE
else
echo "Keine Logdatei vorhanden!"
fi
;;
[sS][oO][fF][tT]*)
$CAMBINS/script/camd3-softkey.sh
;;
*)
clear
echo -e "\033[1;37m$CAMNAME-Server IPC $IPCVERSION $(date +"%d.%m.%Y %H:%M")\033[0m"
echo "==============================================================================="
echo ""
echo -e "Befehlsliste: \033[1;31mcamd3\033[0m"
echo ""
echo -e "\033[1;37m Hilfe zu Befehlen\033[0m \033[1;31mhelp\033[0m"
echo -e "\033[1;37m Start, Stop, Restart\033[0m \033[0;37mstart | lstart | stop | restart\033[0m"
echo -e "\033[1;37m Logfile\033[0m \033[0;37mlog\033[0m"
echo -e "\033[1;37m Softcam Keys aktualisieren\033[0m \033[0;37msoftkey\033[0m"
echo ""
echo "==============================================================================="
echo ""
exit 1
;;
esac
exit 0