Skip to content

Instantly share code, notes, and snippets.

@aarvay
Created July 5, 2011 18:21
Show Gist options
  • Save aarvay/1065477 to your computer and use it in GitHub Desktop.
Save aarvay/1065477 to your computer and use it in GitHub Desktop.
Bash Script to install Dropbox Daemon
#!/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="deploy"
DAEMON=/usr/local/deploy/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