monithor/server/Daemon.sh

39 lines
982 B
Bash
Executable File

#!/bin/bash
cd $(dirname $0)/conf-server/
ScriptDir=$(pwd)/scripts/
SondeFile=$(pwd)/sonde.cfg
source service.cfg
[[ "${Crypted}" == "yes" ]] && NcCmd="cryptcat -k ${LocalPassword} -l ${LocalIp} -p ${LocalPort} " || NcCmd="nc -l ${LocalIp} ${LocalPort}"
while true
do
#coproc cryptcat -k ${LocalPassword} -l ${LocalIp} -p ${LocalPort}
coproc eval ${NcCmd}
while read -r cmd; do
logger "Running $cmd"
cpt=0
while read DATA
do
Sonde=$(echo ${DATA}| cut -d"#" -f1)
Exec=$(echo ${DATA}| cut -d"#" -f2)
RealCmd=$(echo ${cmd} | cut -d"#" -f1)
ArgCmd=$(echo ${cmd} | cut -d"#" -f2)
if [[ "${RealCmd}" == "$Sonde" ]]
then
logger "Exec $Exec $Arg $cpt"
[ "$1" == '-d' ] && echo "############ Exec $Exec $Arg $cpt" 1>&2
bash ${ScriptDir}/${Exec} $ArgCmd
cpt=$((cpt+1))
break
fi
done < ${SondeFile}
[[ "${cpt}" -eq 0 ]] && logger "You Failed $Sonde $Exec $Arg"
done <&"${COPROC[0]}" >&"${COPROC[1]}"
done