Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- NAME=ipv6daemon
- PIDFILE=$NAME.pid
- INT_WAN=ppp0
- WAN_IP=$(ip addr show $INT_WAN | awk '/inet/ {print $2}')
- case "$1" in
- start)
- echo "Starting ipv6update service"
- if [ ! -r "$PIDFILE" ]; then
- exec >/dev/null
- exec 2>/dev/null
- (
- trap "" TERM
- echo ${BASHPID} > "$NAME".pid
- ./ipv6update
- while true
- do
- IP_ADDR=$(ip addr show $INT_WAN | awk '/inet/ {print $2}')
- if [ "$IP_ADDR" != "$WAN_IP" ]; then
- WAN_IP="$IP_ADDR"
- ./ipv6update
- fi
- sleep 60
- done
- )&
- fi
- if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then
- echo "$NAME allready is running $pid"
- exit 0
- else
- echo "$NAME is not running but $PIDFILE exists."
- exit 1
- fi
- ;;
- stop)
- echo "Stopping ipv6update service"
- if [ ! -r "$PIDFILE" ]; then
- echo "$NAME is not running."
- exit 3
- fi
- if read pid < "$PIDFILE" && kill -9 "$pid" > /dev/null 2>&1 && rm "$PIDFILE"; then
- echo "$NAME is stopping."
- exit 0
- else
- echo "$NAME is not running but $PIDFILE exists."
- exit 1
- fi
- ;;
- restart)
- $0 stop
- sleep 2
- $0 start
- ;;
- status)
- echo -n "Status of $NAME: "
- if [ ! -r "$PIDFILE" ]; then
- echo "$NAME is not running."
- exit 3
- fi
- if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then
- echo "$NAME is running $pid"
- exit 0
- else
- echo "$NAME is not running but $PIDFILE exists."
- exit 1
- fi
- ;;
- *)
- echo "$0 Usage: start|stop|restart|status" >&2
- exit 3
- ;;
- esac
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement