Skip to content

Instantly share code, notes, and snippets.

@markcaudill
Created March 28, 2015 19:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save markcaudill/e243a8dd0f9e7b8a22d8 to your computer and use it in GitHub Desktop.
Save markcaudill/e243a8dd0f9e7b8a22d8 to your computer and use it in GitHub Desktop.
#!/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
@markcaudill
Copy link
Author

Based on the sshd init script that ships with CentOS 6.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment