Created
March 28, 2015 19:18
-
-
Save markcaudill/e243a8dd0f9e7b8a22d8 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
Based on the
sshd
init script that ships with CentOS 6.