fuel-library/files/fuel-umm/root/usr/lib/umm/umm_svc

60 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
. /usr/lib/umm/umm_vars
[[ -x ${0}.local ]] && source ${0}.local
set_umm(){
echo umm >$UMM_FLAG
}
# check if UMM enabled and skip processing any services
[[ "$UMM" == "yes" ]] || umm-skip
if [[ "$1" == "timer" ]] ; then
sleep $(($COUNTER_RESET_TIME*60))
rm -f $UMM_DATA/UMM_DRC.var
exit 0
fi
# gracefull shutdown restart processing
if [[ "$1" == "down" ]] ; then
rm -f $UMM_DATA/UMM_DRC.var
exit 0
fi
# run sceduled programm in maintenace mode
if [[ "$1" == "run" ]] ; then
if [[ -f "$UMM_DATA/UMM_CMD" && -f "$UMM_FLAG" ]] ; then
cmd=$(cat $UMM_DATA/UMM_CMD)
rm $UMM_DATA/UMM_CMD
$cmd &> $UMM_DATA/UMM_CMD.out || true
fi
exit 0
fi
# clean previos state
[[ -f $UMM_FLAG ]] && rm $UMM_FLAG
# check if umm enforsed parameter is present
if [[ -f $UMM_DATA/UMM_ENFORCED ]] ; then
set_umm
rm $UMM_DATA/UMM_ENFORCED
fi
# check if umm kernel parameter is present
for t in $(cat /proc/cmdline); do
[[ "$t" == "umm" ]] && set_umm
done
# check if dirty rebout count is reached
UMM_DRC=$((UMM_DRC+1))
echo "UMM_DRC=$UMM_DRC">$UMM_DATA/UMM_DRC.var
[[ ${UMM_DRC} -gt ${REBOOT_COUNT} ]] && set_umm
if [[ -f $UMM_FLAG ]] ; then
umm-run
else
umm-skip
fi