#!/bin/sh ### BEGIN INIT INFO # Provides: arangodb # Required-Start: $remote_fs $network $named # Required-Stop: $remote_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: arangodb # Description: arango database server ### END INIT INFO . /lib/lsb/init-functions PATH=/bin:/usr/bin:/sbin:/usr/sbin DAEMON=/usr/sbin/arangod DESC="arango database server" NAME="arangod" PIDDIR=/var/run/arangodb PIDFILE=/var/run/arangodb/arangod.pid CONF=/etc/arangodb/arangod.conf test -x $DAEMON || exit 0 if [ `id -u` -ne 0 ]; then echo "You need root privileges to run this script" exit 1 fi start () { [ -d $PIDDIR ] || mkdir $PIDDIR || exit 1 [ -d /var/run/arangodb ] || mkdir /var/run/arangodb || exit 1 ( cd /var/log/arangodb3 && chown -R arangodb:arangodb . ) || exit 1 ( cd /var/lib/arangodb3 && chown -R arangodb:arangodb . ) || exit 1 ( cd /var/lib/arangodb3-apps && chown -R arangodb:arangodb . ) || exit 1 ( cd /var/run/arangodb && chown -R arangodb:arangodb . ) || exit 1 ( cd $PIDDIR && chown arangodb:arangodb . ) || exit 1 export GLIBCXX_FORCE_NEW=1 if [ "$1" = "--database.auto-upgrade" ]; then $DAEMON -c $CONF --uid arangodb --gid arangodb --server.rest-server false $@ RETVAL=$? log_end_msg $RETVAL else $DAEMON -c $CONF --uid arangodb --gid arangodb --server.rest-server --log.foreground-tty false --database.check-version true RETVAL=$? if [ "$RETVAL" -eq 0 ]; then $DAEMON -c $CONF --uid arangodb --gid arangodb --pid-file "$PIDFILE" --temp-path "/var/tmp/arangod" --log.foreground-tty false --supervisor true $@ RETVAL=$? log_end_msg $RETVAL else log_failure_msg "database version check failed, maybe need to run 'upgrade'?" fi fi return $RETVAL } case "$1" in start) log_daemon_msg "Starting $DESC" "$NAME" start exit $? ;; stop) log_daemon_msg "Stopping $DESC" "$NAME" start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON RETVAL=$? log_end_msg $RETVAL log_daemon_msg "Waiting for shutdown" "" c=0 while test -f $PIDFILE -a $c -lt 30 && ps --pid `cat $PIDFILE` > /dev/null; do log_progress_msg "." sleep 2 c=`expr $c + 1` done log_progress_msg "done" log_end_msg 0 rm -f $PIDFILE exit $RETVAL ;; restart) $0 stop sleep 3 $0 start exit $? ;; force-reload) $0 restart exit $? ;; status) status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? ;; upgrade) log_daemon_msg "Upgrading $DESC" "$NAME" start --database.auto-upgrade true exit $? ;; *) log_success_msg "Usage: /etc/init.d/arangodb {start|stop|restart|force-reload|status|upgrade}" exit 1 ;; esac exit 0