#!/bin/sh ### BEGIN INIT INFO # Provides: arangodb # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # 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 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 ( cd /var/log/arangodb3 && chown -R arangodb:arangodb . && chmod 700 . ) || exit 1 ( cd /var/lib/arangodb3 && chown -R arangodb:arangodb . && chmod 700 . ) || exit 1 ( cd /var/lib/arangodb3-apps && chown -R arangodb:arangodb . && chmod 700 . ) || exit 1 ( cd $PIDDIR && chown arangodb:arangodb . && chmod 755 . ) || exit 1 local current=/var/tmp/arangod ( mkdir -p $current && chown -R arangodb:arangodb $current ) || exit 1 ulimit -H -n 131072 || true ulimit -S -n 131072 || true export GLIBCXX_FORCE_NEW=1 case "$1" in "--upgrade") shift $DAEMON --uid arangodb --gid arangodb --server.rest-server false --database.auto-upgrade true $@ RETVAL=$? log_end_msg $RETVAL ;; "--reopen-logs") shift if test -f $PIDFILE; then kill -1 `cat $PIDFILE` fi RETVAL=0 log_end_msg $RETVAL ;; *) $DAEMON --uid arangodb --gid arangodb --server.rest-server false --log.foreground-tty false --database.check-version RETVAL=$? if [ "$RETVAL" -eq 0 ]; then $DAEMON --uid arangodb --gid arangodb --pid-file "$PIDFILE" --temp.path "/var/tmp/arangod" --log.foreground-tty false --supervisor $@ RETVAL=$? log_end_msg $RETVAL else log_failure_msg "database version check failed, maybe you need to run 'upgrade'?" fi ;; esac 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 || exit 1 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 --upgrade exit $? ;; reload-log) log_daemon_msg "Re-Opening Logfiles $DESC" "$NAME" start --reopen-logs exit $? ;; *) log_success_msg "Usage: /etc/init.d/arangodb3 {start|stop|restart|force-reload|status|upgrade}" exit 1 ;; esac exit 0