StartStopStatusScript
From MLDonkey
Contents |
general
here is a small script that can be used by bsd/linux/*nix boxes to start/stop mlnet.
the stop stdout output is not quite clean, but it functions.
requirements
- . the http interface must be enabled for localhost.
- . gnu wget
- . striphtml.sed script (see below)
mlnet.sh
#!/bin/bash
MLNET_DIR="/srv/mlnet/bin"
# MLNET_LOG="/dev/null"
MLNET_LOG="/var/log/mlnet.log"
MLNET_COMMAND="$MLNET_DIR/mlnet > $MLNET_LOG 2>&1 &"
# STRIP_SCRIPT="$MLNET_DIR/scripts/striphtml.sed"
HTTP_PORT="4080"
echo -n ' mlnet '
case "$1" in
start)
echo start
# cd $MLNET_DIR
$MLNET_COMMAND
;;
stop)
echo stop
wget -q --spider --http-user=admin --http-password='!n@\033[m' \
"http://localhost:$HTTP_PORT/submit?q=kill"
RETVAL=$?
;;
status)
wget -q --spider --http-user=admin --http-password='!n@\033[m' \
"http://localhost:$HTTP_PORT/submit?q=bw_stats"
RETVAL=$?
case "$RETVAL" in
"0")
echo "mldonkey is runing"
;;
"1")
echo "mldonkey is stopped"
esac
;;
*)
echo "Usage: `basename $0` {start|stop|status}" >&2
exit 64
;;
esac
exit $RETVAL
striphtml.sed
#!/bin/sed -nf
#< strip HTML tags from input and remove blank lines
# from http://www.zazzybob.com/bin.html
# under GNU license
: loop
/<.*>/ {
#if we have a HTML tag, remove it
s/<~[[^<>]]*>//g
#branch if a successful substitution was made
t loop
}
/</ {
#if just an opening tag is found, append the
#next line of input into the pattern space
N
b loop
}
# remove blank lines
/^[[ ]]*$/d
# print the rest!
p
alternative way to get status
You either can grab status without the external sed script and without wget:
status)
echo -e \"auth $password\nbw_stats\nquit\" || nc -w 1 127.0.0.1 4000 ||grep ^D
;;