Multimodule install and admin

pull/12/head
Tom Early 7 years ago
parent 3a4c391b07
commit dea1e264de

@ -101,19 +101,26 @@ installbase : $(BASE_PROGRAMS) gwys.txt qn.cfg
systemctl daemon-reload
systemctl start qnlink.service
installrelay : qnrelay
installrelay : qnrelay $(MMPATH)/MMDVMHost $(MMPATH)/MMDVM$(MODULE).qn
######### QnetRelay #########
/bin/ln -f qnrelay $(BINDIR)/qnrelay$(MODULE)
/bin/cp -f system/qnrelay$(MODULE).service $(SYSDIR)
sed -e "s/XXX/qnrelay$(MODULE)/" system/qnrelay.service > $(SYSDIR)/qnrelay$(MODULE)
systemctl enable qnrelay$(MODULE).service
systemctl daemon-reload
systemctl start qnrelay$(MODULE).service
######### MMDVMHost #########
/bin/ln -f $(MMPATH)/MMDVMHost $(BINDIR)/MMDVMHost$(MODULE)
/bin/ln -s $(shell pwd)/$(MMPATH)/MMDVM$(MODULE).qn $(CFGDIR)
sed -e "s/XXX/MMDVMHost$(MODULE)" -e "s/YYY/MMDVM$(MODULE).qn" system/mmdvm.service > $(SYSDIR)/mmdvm$(MODULE).service
/bin/cp -f system/mmdvm.timer $(SYSDIR)/mmdvm$(MODULE)
systemctl enable mmdvm$(MODULE).timer
systemctl daemon-reload
systemctl start mmdvm$(MODULE).service
installitap : qnitap
######### QnetITAP #########
/bin/ln -f qnitap $(BINDIR)/qnitap$(MODULE)
/bin/cp -f system/qnitap$(MODULE).service $(SYSDIR)
sed -e "s/XXX/qnitap$(MODULE)/" system/qnitap.service > $(SYSDIR)/qnitap$(MODULE).service
systemctl enable qnitap$(MODULE).service
systemctl daemon-reload
systemctl start qnitap$(MODULE).service
@ -121,7 +128,7 @@ installitap : qnitap
installdvap : qndvap
######### QnetDVAP #########
/bin/ln -f qndvap $(BINDIR)/qndvap$(MODULE)
/bin/cp -f system/qndvap$(MODULE).service $(SYSDIR)
sed -e "s/XXX/qndvap$(MODULE)/" system/qndvap.service > $(SYSDIR)/qndvap$(MODULE).service
systemctl enable qndvap$(MODULE).service
systemctl daemon-reload
systemctl start qndvap$(MODULE).service
@ -129,7 +136,7 @@ installdvap : qndvap
installdvrptr : qndvrptr
######### QnetDVRPTR #########
/bin/ln -f qndvrptr $(BINDIR)/qndvrptr$(MODULE)
/bin/cp -f system/qndvrptr$(MODULE).service $(SYSDIR)
sed -e "s/XXX/qndvrptr$(MODULE)" system/qndvrptr.service > $(SYSDIR)/qndvrptr$(MODULE).service
systemctl enable qndvrptr$(MODULE).service
systemctl daemon-reload
systemctl start qndvrptr$(MODULE).service
@ -141,24 +148,6 @@ installdtmf : qndtmf
systemctl daemon-reload
systemctl start qndtmf.service
installmmdvm : $(MMPATH)/MMDVMHost $(MMPATH)/MMDVM$(MODULE).qn
/bin/ln -f $(MMPATH)/MMDVMHost $(BINDIR)/MMDVMHost$(MODULE)
/bin/ln -s $(shell pwd)/$(MMPATH)/MMDVM$(MODULE).qn $(CFGDIR)
/bin/cp -f system/mmdvm$(MODULE).service $(SYSDIR)
/bin/cp -f system/mmdvm.timer $(SYSDIR)/mmdvm$(MODULE).timer
systemctl enable mmdvm$(MODULE).timer
systemctl daemon-reload
systemctl start mmdvm$(MODULE).service
uninstallmmdvm :
systemctl stop mmdvm.service
systemctl disable mmdvm.timer
/bin/rm -f $(SYSDIR)/mmdvm.service
/bin/rm -f $(SYSDIR)/mmdvm$(MODULE).timer
/bin/rm -f $(BINDIR)/MMDVMHost
/bin/rm -f $(CFGDIR)/MMDVM.qn
sudo systemctl daemon-reload
uninstallbase :
######### QnetGateway #########
systemctl stop qngateway.service
@ -186,6 +175,14 @@ uninstallrelay :
/bin/rm -f $(SYSDIR)/qnrelay$(MODULE).service
/bin/rm -f $(BINDIR)/qnrelay$(MODULE)
systemctl daemon-reload
######### MMDVMHost ##########
systemctl stop mmdvm.service
systemctl disable mmdvm.timer
/bin/rm -f $(SYSDIR)/mmdvm$(MODULE).service
/bin/rm -f $(SYSDIR)/mmdvm$(MODULE).timer
/bin/rm -f $(BINDIR)/MMDVMHost$(MODULE)
/bin/rm -f $(CFGDIR)/MMDVM$(MODULE).qn
sudo systemctl daemon-reload
uninstallitap :
######### QnetITAP #########

@ -128,18 +128,29 @@ BaseStatus () {
}
ModuleStatus () {
local LoadState SubState mcvar process
local LoadState SubState mcvar
if [ -z ${3} ]; then
ModuleState[$1]='EMPTY'
MMDVMState[$1]='EMPTY'
else
mcvar="n${3}"
process="qn$3"
if [[ "$process" == 'qnmmdvm' ]]; then process='qnrelay'; fi
ModuleProcess[$1]="qn$3"
if [[ "${ModuleProcess[$1]}" == 'qnmmdvm' ]]; then
ModuleProcess[$1]='qnrelay'
MMDVMProcess[$1]='mmdvm'
MMDVMState[$1]='not empty'
else
MMDVMState[$1]='EMPTY'
MMDVMProcess[$1]=''
fi
if [[ ${!mcvar} > 1 ]]; then
process="${process}${2}"
ModuleProcess[$1]="${ModuleProcess[$1]}${2}"
if [[ "${MMDVMProcess[$1]}" == 'mmdvm' ]]; then
MMDVMProcess[$1]="${MMDVMProcess[$1]}${2}"
fi
fi
LoadState=$( systemctl show -p LoadState --value $process )
SubState=$( systemctl show -p SubState --value $process )
LoadState=$( systemctl show -p LoadState --value ${ModuleProcess[$1]} )
SubState=$( systemctl show -p SubState --value ${ModuleProcess[$1]} )
if [[ "$LoadState" == "loaded" ]]; then
if [[ $SubState == "running" ]]; then
ModuleState[$1]='running'
@ -149,23 +160,23 @@ ModuleStatus () {
else
ModuleState[$1]='not installed'
fi
if [[ "${MMDVMState[$1]}" != 'EMPTY' ]]; then
LoadState=$( systemctl show -p LoadState --value ${MMDVMProcess[$1]} )
SubState=$( systemctl show -p SubState --value ${MMDVMProcess[$1]} )
if [[ "$LoadState" == "loaded" ]]; then
if [[ $SubState == "running" ]]; then
MMDVMState[$1]='running'
else
MMDVMState[$1]='stopped'
fi
else
MMDVMState[$1]='not installed'
fi
fi
echo "Module ${2^^} - ${3^^} is ${ModuleState[$1]}"
fi
}
GetModuleProcess () {
local nvar
process=$1
nvar="n$process"
if [[ $process == 'mmdvm' ]]; then
process='relay'
fi
process="qn$process"
if [ ${!nvar} -gt 1 ]; then
process=${process}${1}
fi
}
Header () {
local count
count=$( ps -aux | grep qn | wc -l )
@ -201,27 +212,45 @@ LogMenu () {
echo " qndtmf is not running"
fi
if [[ ${ModuleState[0]} != 'EMPTY' ]]; then
GetModuleProcess $module_a
if [[ ${ModuleState[0]} == 'running' ]]; then
echo " a : $process Log"
echo " a : ${ModuleProcess[0]} Log"
else
echo " $process is not running"
echo " ${ModuleProcess[0]} is not running"
fi
fi
if [[ ${ModuleState[1]} != 'EMPTY' ]]; then
GetModuleProcess $module_b
if [[ ${ModuleState[1]} == 'running' ]]; then
echo " b : $process Log"
echo " b : ${ModuleProcess[1]} Log"
else
echo " $process is not running"
echo " ${ModuleProcess[1]} is not running"
fi
fi
if [[ ${ModuleState[2]} != 'EMPTY' ]]; then
GetModuleProcess $module_c
if [[ ${ModuleState[2]} == 'running' ]]; then
echo " c : $process Log"
echo " c : ${ModuleProcess[2]} Log"
else
echo " ${ModuleProcess[2]} is not running"
fi
fi
if [[ ${MMDVMState[0]} != 'EMPTY' ]]; then
if [[ ${MMDVMState[0]} == 'running' ]]; then
echo " x : ${MMDVMProcess[0]} Log"
else
echo " ${MMDVMProcess[0]} is not running"
fi
fi
if [[ ${MMDVMState[1]} != 'EMPTY' ]]; then
if [[ ${MMDVMState[1]} == 'running' ]]; then
echo " y : ${MMDVMProcess[1]} Log"
else
echo " $process is not running"
echo " ${MMDVMProcess[1]} is not running"
fi
fi
if [[ ${MMDVMState[2]} != 'EMPTY' ]]; then
if [[ ${MMDVMState[2]} == 'running' ]]; then
echo " z : ${MDVMProcess[2]} Log"
else
echo " ${MMDVMProcess[2]} is not running"
fi
fi
echo
@ -236,14 +265,17 @@ LogMenu () {
elif [[ "$ans" == d* ]] && [[ "$DTMFState" == 'running' ]]; then
sudo journalctl -u qndtmf -f
elif [[ "$ans" == a* ]] && [[ "${ModuleState[0]}" == 'running' ]]; then
GetModuleProcess $module_a
sudo journalctl -u $process -f
sudo journalctl -u ${ModuleProcess[0]} -f
elif [[ "$ans" == b* ]] && [[ "${ModuleState[1]}" == 'running' ]]; then
GetModuleProcess $module_b
sudo journalctl -u $process -f
sudo journalctl -u ${ModuleProcess[1]} -f
elif [[ "$ans" == c* ]] && [[ "${ModuleState[2]}" == 'running' ]]; then
GetModuleProcess $module_c
sudo journalctl -u $process -f
sudo journalctl -u ${ModuleProcess[2]} -f
elif [[ "$ans" == x* ]] && [[ "${MMDVMState[0]}" == 'running' ]]; then
sudo journalctl -u ${MMDVMProcess[0]} -f
elif [[ "$ans" == y* ]] && [[ "${MMDVMState[1]}" == 'running' ]]; then
sudo journalctl -u ${MMDVMProcess[1]} -f
elif [[ "$ans" == z* ]] && [[ "${MMDVMState[2]}" == 'running' ]]; then
sudo journalctl -u ${MMDVMProcess[2]} -f
fi
done
ans=''
@ -286,6 +318,21 @@ MaintenanceMenu () {
elif [[ "${ModuleState[2]}" == 'stopped' ]]; then
echo " c : Start Module C"
fi
if [[ "${MMDVMState[0]}" == 'running' ]]; then
echo " x : Stop MMDVMHost A"
elif [[ "${MMDVMState[0]}" == 'stopped' ]]; then
echo " x : Start MMDVMHost A"
fi
if [[ "${MMDVMState[1]}" == 'running' ]]; then
echo " y : Stop MMDVMHost B"
elif [[ "${MMDVMState[1]}" == 'stopped' ]]; then
echo " y : Start MMDVMHost B"
fi
if [[ "${MMDVMState[2]}" == 'running' ]]; then
echo " z : Stop MMDVMHost C"
elif [[ "${MMDVMState[2]}" == 'stopped' ]]; then
echo " z : Start MMDVMHost C"
fi
echo
echo " q : Return to main Menu"
echo
@ -313,27 +360,45 @@ MaintenanceMenu () {
fi
BaseStatus
elif [[ "$ans" == a* ]] && [ -n $module_a ]; then
GetModuleProcess $module_a
if [[ "${ModuleState[0]}" == 'running' ]]; then
sudo systemctl stop $process
sudo systemctl stop ${ModuleProcess[0]}
elif [[ "${ModuleState[0]}" == 'stopped' ]]; then
sudo systemctl start $process
sudo systemctl start ${ModuleProcess[0]}
fi
ModuleStatus 0 a $module_a
elif [[ "$ans" == b* ]] && [ -n $module_b ]; then
GetModuleProcess $module_b
if [[ "${ModuleState[1]}" == 'running' ]]; then
sudo systemctl stop $process
sudo systemctl stop ${ModuleProcess[1]}
elif [[ "${ModuleState[1]}" == 'stopped' ]]; then
sudo systemctl start $process
sudo systemctl start ${ModuleProcess[1]}
fi
ModuleStatus 1 b $module_b
elif [[ "$ans" == c* ]] && [ -n $module_c ]; then
GetModuleProcess $module_c
if [[ "${ModuleState[2]}" == 'running' ]]; then
sudo systemctl stop $process
sudo systemctl stop ${ModuleProcess[2]}
elif [[ "${ModuleState[2]}" == 'stopped' ]]; then
sudo systemctl start $process
sudo systemctl start ${ModuleProcess[2]}
fi
ModuleStatus 2 c $module_c
elif [[ "$ans" == x* ]] && [ -n $module_a ]; then
if [[ "${MMDVMState[0]}" == 'running' ]]; then
sudo systemctl stop ${MMDVMProcess[0]}
elif [[ "${MMDVMState[0]}" == 'stopped' ]]; then
sudo systemctl start ${MMDVMProcess[0]}
fi
ModuleStatus 0 a $module_a
elif [[ "$ans" == y* ]] && [ -n $module_b ]; then
if [[ "${MMDVMState[1]}" == 'running' ]]; then
sudo systemctl stop ${MMDVMProcess[1]}
elif [[ "${MMDVMState[1]}" == 'stopped' ]]; then
sudo systemctl start ${MMDVMProcess[1]}
fi
ModuleStatus 1 b $module_b
elif [[ "$ans" == z* ]] && [ -n $module_c ]; then
if [[ "${MMDVMState[2]}" == 'running' ]]; then
sudo systemctl stop ${MMDVMProcess[2]}
elif [[ "${MMDVMState[2]}" == 'stopped' ]]; then
sudo systemctl start ${MMDVMProcess[2]}
fi
ModuleStatus 2 c $module_c
fi

@ -4,7 +4,7 @@ After=systemd-user-session.service qnrelay.service
[Service]
Type=simple
ExecStart=/usr/local/bin/MMDVMHost /usr/local/etc/MMDVM.qn
ExecStart=/usr/local/bin/XXX /usr/local/etc/YYY.qn
Restart=always
[Install]

@ -4,7 +4,7 @@ After=systemd-user-session.service qngateway.service
[Service]
Type=simple
ExecStart=/usr/local/bin/qndvap /usr/local/etc/qn.cfg
ExecStart=/usr/local/bin/XXX /usr/local/etc/qn.cfg
Restart=always
[Install]

@ -4,7 +4,7 @@ After=systemd-user-session.service qngateway.service
[Service]
Type=simple
ExecStart=/usr/local/bin/qndvrptr /usr/local/etc/qn.cfg
ExecStart=/usr/local/bin/XXX /usr/local/etc/qn.cfg
Restart=always
[Install]

@ -4,7 +4,7 @@ After=systemd-user-session.service qngateway.service
[Service]
Type=simple
ExecStart=/usr/local/bin/qnitap /usr/local/etc/qn.cfg
ExecStart=/usr/local/bin/XXX /usr/local/etc/qn.cfg
Restart=always
[Install]

@ -4,7 +4,7 @@ After=systemd-user-session.service qngateway.service
[Service]
Type=simple
ExecStart=/usr/local/bin/qnrelay /usr/local/etc/qn.cfg
ExecStart=/usr/local/bin/XXX /usr/local/etc/qn.cfg
Restart=always
[Install]

Loading…
Cancel
Save

Powered by TurnKey Linux.