123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- #!/bin/sh
- #
- # zerotier-one Virtual distributed Ethernet service
- #
- # chkconfig: 2345 11 89
- # description: ZeroTier One provides public and private distributed ethernet \
- # networks. See https://www.zerotier.com/ for more information.
- ### BEGIN INIT INFO
- # Provides: zerotier-one
- # Required-Start: $local_fs $network
- # Required-Stop: $local_fs
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: Start ZeroTier One
- # Description: ZeroTier One provides public and private distributed ethernet \
- # networks. See https://www.zerotier.com/ for more information.
- ### END INIT INFO
- #
- # This script is written to avoid distro-specific dependencies, so it does not
- # use the rc bash script libraries found on some systems. It should work on
- # just about anything.
- #
- zthome=/var/lib/zerotier-one
- # Add $zthome to path so we can invoke zerotier-one naked, makes it look
- # better in a ps listing.
- export PATH=/bin:/usr/bin:/sbin:/usr/sbin:$zthome
- if [ "`id -u`" -ne 0 ]; then
- echo "Init script must be called as root."
- exit 4
- fi
- if [ ! -f "$zthome/zerotier-one" ]; then
- echo "ZeroTier One is not installed in $zthome."
- exit 5
- fi
- pid=0
- if [ -f "$zthome/zerotier-one.pid" ]; then
- pid=`cat $zthome/zerotier-one.pid`
- fi
- running=0
- if [ "$pid" -gt 0 ]; then
- exepath=`readlink /proc/$pid/exe 2>/dev/null | grep zerotier-one`
- if [ -n "$exepath" ]; then
- running=1
- fi
- fi
- case "$1" in
- start)
- if [ $running -gt 0 ]; then
- echo "ZeroTier One already running."
- exit 0
- fi
- echo "Starting ZeroTier One..."
- zerotier-one -d
- ;;
- stop)
- if [ $running -gt 0 ]; then
- echo "Stopping ZeroTier One..."
- kill -TERM $pid
- sleep 0.25
- if [ -f "$zthome/zerotier-one.pid" ]; then
- sleep 0.5
- fi
- if [ -f "$zthome/zerotier-one.pid" ]; then
- sleep 1
- fi
- if [ -f "$zthome/zerotier-one.pid" ]; then
- kill -KILL $pid >>/dev/null 2>&1
- rm -f "$zthome/zerotier-one.pid"
- fi
- else
- echo "ZeroTier One is not running."
- fi
- ;;
- restart|reload|force-reload|condrestart|try-restart)
- echo "Restarting ZeroTier One..."
- if [ $running -gt 0 ]; then
- kill -TERM $pid >>/dev/null 2>&1
- fi
- sleep 0.25
- if [ -f "$zthome/zerotier-one.pid" ]; then
- sleep 0.5
- fi
- if [ -f "$zthome/zerotier-one.pid" ]; then
- sleep 1
- fi
- if [ -f "$zthome/zerotier-one.pid" ]; then
- kill -KILL $pid >>/dev/null 2>&1
- rm -f "$zthome/zerotier-one.pid"
- fi
- zerotier-one -d
- ;;
- status)
- if [ $running -gt 0 ]; then
- exit 0
- else
- exit 3
- fi
- ;;
- *)
- echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
- exit 2
- esac
- exit 0
|