Skip to content

Instantly share code, notes, and snippets.

@typomedia
Forked from typomedia/init.btsync.sh
Last active August 29, 2015 14:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save typomedia/cd8cfdc57c42f2acf2fa to your computer and use it in GitHub Desktop.
Save typomedia/cd8cfdc57c42f2acf2fa to your computer and use it in GitHub Desktop.
#!/bin/sh
### BEGIN INIT INFO
# Provides: syncthing
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Syncthing
# Description: Automatically sync files via secure, distributed technology
# Author: Typomedia Foundation
# Version: 1.0
### END INIT INFO
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DESC="Syncthing"
NAME=syncthing
DAEMON=/usr/local/bin/$NAME
PIDFILE=/var/run/$NAME.pid
TIMEOUT=60
USER=root
[ -x $DAEMON ] || exit 0
#[ -e /etc/default/$NAME ] && . /etc/default/$NAME
. /lib/lsb/init-functions
check_daemon () {
if [ $ENABLE_DAEMON != 1 ]; then
log_progress_msg "(disabled)"
log_end_msg 255 || true
else
start_daemon
fi
}
start_daemon () {
start-stop-daemon --start --quiet \
--make-pidfile --pidfile $PIDFILE \
--background --chuid $USER \
--exec $DAEMON
}
stop_daemon () {
start-stop-daemon --stop --quiet \
--pidfile $PIDFILE \
--exec $DAEMON --retry $TIMEOUT \
--oknodo
}
reload_daemon () {
start-stop-daemon --stop --quiet \
--exec $DAEMON \
--oknodo --signal 1
}
case "$1" in
start)
log_daemon_msg "Starting $DESC"
start_daemon
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
stop_daemon
log_end_msg 0
;;
reload)
log_daemon_msg "Reloading $DESC" "$NAME"
reload_daemon
log_end_msg 0
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC"
stop_daemon
sleep 1
start_daemon
log_end_msg 0
;;
status)
status_of_proc "$DAEMON" "$DESC" && exit 0 || exit $?
;;
*)
log_action_msg "Usage: service $NAME {start|stop|reload|force-reload|restart|status}" || true
exit 2
;;
esac
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment