#!/bin/bash # rc.syncthing - Syncthing file sync daemon for Slackware # Runs as user green with config in ~/.config/syncthing SYNCTHING=/usr/bin/syncthing USER=green CONFDIR=/home/green/.config/syncthing LOGFILE=/var/log/syncthing.log PIDFILE=/var/run/syncthing.pid start() { if [ -f "$PIDFILE" ] && kill -0 "$(cat $PIDFILE)" 2>/dev/null; then echo "syncthing is already running" return fi echo "Starting syncthing..." mkdir -p /var/log sudo -u $USER $SYNCTHING serve \ --home=$CONFDIR \ --no-browser \ --logfile=$LOGFILE \ >> $LOGFILE 2>&1 & echo $! > $PIDFILE echo "syncthing started (pid $(cat $PIDFILE))" } stop() { if [ -f "$PIDFILE" ] && kill -0 "$(cat $PIDFILE)" 2>/dev/null; then echo "Stopping syncthing..." kill "$(cat $PIDFILE)" rm -f "$PIDFILE" else echo "syncthing is not running" fi } status() { if [ -f "$PIDFILE" ] && kill -0 "$(cat $PIDFILE)" 2>/dev/null; then echo "syncthing is running (pid $(cat $PIDFILE))" else echo "syncthing is not running" fi } case "$1" in start) start ;; stop) stop ;; restart) stop; sleep 1; start ;; status) status ;; *) echo "Usage: $0 {start|stop|restart|status}" ;; esac