-
-
Save HungHuynh/7fd96955020b22747142bbf830588fbf to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# btsync Start up the btsync server daemon | |
# | |
# chkconfig: 2345 55 25 | |
# description: btsync is like this sync thing. Google it. | |
# | |
# processname: btsync | |
# config: /etc/btsync.conf | |
# pidfile: /var/run/btync/btsync.pid | |
### BEGIN INIT INFO | |
# Provides: btsync | |
# Required-Start: $local_fs $network $syslog | |
# Required-Stop: $local_fs $syslog | |
# Should-Start: $syslog | |
# Should-Stop: $network $syslog | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: Start up the btsync server daemon | |
# Description: look above | |
### END INIT INFO | |
# source function library | |
. /etc/rc.d/init.d/functions | |
RETVAL=0 | |
prog="btsync" | |
lockfile=/var/lock/subsys/$prog | |
# Some functions to make the below more readable | |
BTSYNC=/usr/local/bin/btsync | |
CONFIG=/etc/btsync.conf | |
PID_FILE=/var/run/btsync/btsync.pid # Make sure this matches the directive in $CONFIG | |
runlevel=$(set -- $(runlevel); eval "echo \$$#" ) | |
start() | |
{ | |
[ -x $BTSYNC ] || exit 5 | |
[ -f $CONFIG ] || exit 6 | |
echo -n $"Starting $prog: " | |
su - btsync -c "$BTSYNC --config $CONFIG" && success || failure | |
RETVAL=$? | |
[ $RETVAL -eq 0 ] && touch $lockfile | |
echo | |
return $RETVAL | |
} | |
stop() | |
{ | |
echo -n $"Stopping $prog: " | |
killproc -p $PID_FILE $BTSYNC | |
RETVAL=$? | |
# if we are in halt or reboot runlevel kill all running sessions | |
# so the TCP connections are closed cleanly | |
if [ "x$runlevel" = x0 -o "x$runlevel" = x6 ] ; then | |
trap '' TERM | |
killall $prog 2>/dev/null | |
trap TERM | |
fi | |
[ $RETVAL -eq 0 ] && rm -f $lockfile | |
echo | |
} | |
reload() | |
{ | |
echo -n $"Reloading $prog: " | |
killproc -p $PID_FILE $BTSYNC -HUP | |
RETVAL=$? | |
echo | |
} | |
restart() { | |
stop | |
start | |
} | |
force_reload() { | |
restart | |
} | |
rh_status() { | |
status -p $PID_FILE btsync | |
} | |
rh_status_q() { | |
rh_status >/dev/null 2>&1 | |
} | |
case "$1" in | |
start) | |
rh_status_q && exit 0 | |
start | |
;; | |
stop) | |
if ! rh_status_q; then | |
rm -f $lockfile | |
exit 0 | |
fi | |
stop | |
;; | |
restart) | |
restart | |
;; | |
status) | |
rh_status | |
RETVAL=$? | |
if [ $RETVAL -eq 3 -a -f $lockfile ] ; then | |
RETVAL=2 | |
fi | |
;; | |
*) | |
echo $"Usage: $0 {start|stop|restart|status}" | |
RETVAL=2 | |
esac | |
exit $RETVAL |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment