Skip to content

Instantly share code, notes, and snippets.

@alfongj
Forked from aarvay/db_daemon.sh
Last active December 12, 2015 09:49
Show Gist options
  • Save alfongj/4754221 to your computer and use it in GitHub Desktop.
Save alfongj/4754221 to your computer and use it in GitHub Desktop.
#!/bin/bash
#
# Bash hack to install Dropbox Daemon
# @author : Vignesh Rajagopalan
#
###
cat <<EOF | sed -e "s,%,$,g" >/etc/init.d/dropbox
### BEGIN INIT INFO
# Provides: dropbox
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the dropbox service
# Description: starts dropbox using start-stop-daemon
### END INIT INFO
DROPBOX_USERS="dropbox"
DAEMON=/usr/local/dropbox/dropbox
unset DISPLAY
start() {
echo "Starting dropbox..."
for dbuser in %DROPBOX_USERS; do
HOMEDIR=%(getent passwd %dbuser | cut -d: -f6)
if [ -x %DAEMON ]; then
HOME="%HOMEDIR" start-stop-daemon -b -o -c %dbuser -S -u %dbuser -x %DAEMON
fi
done
}
stop() {
echo "Stopping dropbox..."
for dbuser in %DROPBOX_USERS; do
HOMEDIR=%(getent passwd %dbuser | cut -d: -f6)
if [ -x %DAEMON ]; then
start-stop-daemon -o -c %dbuser -K -u %dbuser -x %DAEMON
fi
done
}
status() {
for dbuser in %DROPBOX_USERS; do
dbpid=%(pgrep -u %dbuser dropbox)
if [ -z %dbpid ] ; then
echo "dropboxd for USER %dbuser: not running."
else
echo "dropboxd for USER %dbuser: running (pid %dbpid)"
fi
done
}
case "%1" in
start)
start
sleep 1
status
;;
stop)
stop
sleep 1
status
;;
restart|reload|force-reload)
stop
start
sleep 1
status
;;
status)
status
;;
*)
echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}"
exit 1
esac
exit 0
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment