|
- #!/bin/sh
- case "$1" in
- addcru)
- ISCRU=`cru l | grep xunlei_inside | wc -l`
- INTERVAL=`nvram get xunlei_check_time`
- XLON=`nvram get xunlei_enable`
- if [ "$XLON" == "1" ]; then
- XLCHK=`nvram get xunlei_check`
- if [ "$XLCHK" == "1" ]; then
- if [ "$ISCRU" == "0" ]; then
- cru a xunlei_inside "*/$INTERVAL * * * * /usr/bin/xlcheck check"
- else
- cru d xunlei_inside
- cru a xunlei_inside "*/$INTERVAL * * * * /usr/bin/xlcheck check"
- fi
- else
- if [ "$ISCRU" == "1" ]; then
- cru d xunlei_inside
- fi
- fi
- else
- if [ "$ISCRU" == "1" ]; then
- cru d xunlei_inside
- fi
- fi
- ;;
- check)
- XLON=`nvram get xunlei_enable`
- if [ "$XLON" == "1" ]; then
- XLCHK=`nvram get xunlei_check`
- if [ "$XLCHK" == "1" ]; then
- XLPORT=`nvram get xunlei_port`
- ON=`wget -t 3 -T 3 -qO- http://127.0.0.1:${XLPORT}/getsysinfo | grep '\[ 0, 1, 1, 1, "' | grep -v grep | wc -l`
- if [ "$ON" == "0" ]; then
- PORTSTATUS=`netstat -nl | grep -v grep | grep ":${XLPORT} " | wc -l`
- if [ "$PORTSTATUS" == "0" ]; then
- logger "Xunlei control port ${XLPORT} can not be opened. Manually restarted xunlei service through GUI is needed."
- fi
- RUN=`ps w | grep EmbedThunderManager | grep -v ETMDaemon | grep -v grep | wc -l`
- # RUN=`ps w | grep ETMDaemon | grep EmbedThunderManager | grep -v grep | wc -l`
- if [ "$RUN" == "0" ]; then
- sleep 3
- RUN=`ps w | grep EmbedThunderManager | grep -v ETMDaemon | grep -v grep | wc -l`
- if [ "$RUN" == "0" ]; then
- logger "Xunlei remote stopped? Starting..."
- service xunlei restart
- /usr/bin/xlcpulimit
- fi
- fi
- fi
- ON=`ps w | grep xllimit | grep -v grep | wc -l`
- if [ "$ON" == "0" ]; then
- logger "CPU Limit for Xunlei remote stopped? Starting..."
- /usr/bin/xlcpulimit
- fi
- fi
- fi
- ;;
- esac
- exit 0
复制代码 #!/bin/sh
case "$1" in
addcru)
ISCRU=`cru l | grep xunlei_inside | wc -l`
INTERVAL=`nvram get xunlei_check_time`
XLON=`nvram get xunlei_enable`
if [ "$XLON" == "1" ]; then
XLCHK=`nvram get xunlei_check`
if [ "$XLCHK" == "1" ]; then
if [ "$ISCRU" == "0" ]; then
cru a xunlei_inside "*/$INTERVAL * * * * /usr/bin/xlcheck check"
else
cru d xunlei_inside
cru a xunlei_inside "*/$INTERVAL * * * * /usr/bin/xlcheck check"
fi
else
if [ "$ISCRU" == "1" ]; then
cru d xunlei_inside
fi
fi
else
if [ "$ISCRU" == "1" ]; then
cru d xunlei_inside
fi
fi
;;
check)
XLON=`nvram get xunlei_enable`
if [ "$XLON" == "1" ]; then
XLCHK=`nvram get xunlei_check`
if [ "$XLCHK" == "1" ]; then
XLPORT=`nvram get xunlei_port`
ON=`wget -t 3 -T 3 -qO- http://127.0.0.1:${XLPORT}/getsysinfo | grep '\[ 0, 1, 1, 1, \"' | grep -v grep | wc -l`
if [ "$ON" == "0" ]; then
PORTSTATUS=`netstat -nl | grep -v grep | grep "{XLPORT} " | wc -l`
if [ "$PORTSTATUS" == "0" ]; then
logger "Xunlei control port ${XLPORT} can not be opened. Manually restarted xunlei service through GUI is needed."
fi
RUN=`ps w | grep EmbedThunderManager | grep -v ETMDaemon | grep -v grep | wc -l`
# RUN=`ps w | grep ETMDaemon | grep EmbedThunderManager | grep -v grep | wc -l`
if [ "$RUN" == "0" ]; then
sleep 3
RUN=`ps w | grep EmbedThunderManager | grep -v ETMDaemon | grep -v grep | wc -l`
if [ "$RUN" == "0" ]; then
logger "Xunlei remote stopped? Starting..."
service xunlei restart
/usr/bin/xlcpulimit
fi
fi
fi
ON=`ps w | grep xllimit | grep -v grep | wc -l`
if [ "$ON" == "0" ]; then
logger "CPU Limit for Xunlei remote stopped? Starting..."
/usr/bin/xlcpulimit
fi
fi
fi
;;
esac
exit 0
|
|