#!/bin/sh # Start/stop/restart the No-IP Daemon (noip2) # Written for Slackware Linux by Erik Jan Tromp NOIP2_BIN=/usr/bin/noip2 NOIP2_CNF=/etc/no-ip2.conf check_conf() { if [ ! -f $NOIP2_BIN ] ; then echo "$NOIP2_BIN does not exist. Aborting." exit 0 fi if [ ! -f $NOIP2_CNF ] ; then echo "$NOIP2_CNF does not exist. Create manually it by issuing:" echo " $NOIP2_BIN -C -c $NOIP2_CNF" exit 0 fi NOIP2_UID=$(stat $NOIP2_CNF -c %u) if [ $NOIP2_UID -ne $UID ] ; then echo "$NOIP2_CNF is owned by UID $NOIP2_UID. Aborting" exit 0 fi } noip2_start () { MESSAGE=$(noip2_status) if [ "$MESSAGE" == "noip2 is stopped." ] ; then check_conf echo "Starting noip2: $NOIP2_BIN -c $NOIP2_CNF" $NOIP2_BIN -c $NOIP2_CNF else echo $MESSAGE fi } noip2_stop () { check_conf NOIP2_PID=$(pgrep -f "$NOIP2_BIN -c $NOIP2_CNF") if [ ! -z $NOIP2_PID ] ; then echo "Stopping noip2: $NOIP2_BIN -c $NOIP2_CNF" $NOIP2_BIN -K $NOIP2_PID fi } noip2_restart () { noip2_stop noip2_start } noip2_status () { check_conf NOIP2_PID=$(pgrep -f "$NOIP2_BIN -c $NOIP2_CNF") if [ ! -z $NOIP2_PID ] ; then echo "noip2 is running. PID: $NOIP2_PID" else echo "noip2 is stopped." fi } case "$1" in 'start') noip2_start ;; 'stop') noip2_stop ;; 'restart') noip2_restart ;; 'status') noip2_status ;; *) echo "usage: $0 start|stop|restart|status" esac