#!/bin/bash # # arangod Startup script for the ArangoDB Server # # chkconfig: - 85 15 # description: ArangoDB Server # processname: arangod # config: /etc/arangodb3/arangod.conf # Source function library. . /etc/rc.d/init.d/functions # Path to the server binary ARANGO_BIN=/usr/sbin/arangod test -x $ARANGO_BIN || exit 5 ARANGO_SYSCONFIG=/etc/arangodb3/arangod.conf test -r $ARANGO_SYSCONFIG || exit 6 pidfile=/var/run/arangodb/arangod.pid RETVAL=0 start() { echo -n $"Starting $ARANGO_BIN: " PIDDIR=`dirname $pidfile` [ -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 700 .) || exit 1 ulimit -H -n 131072 || true ulimit -S -n 131072 || true export GLIBCXX_FORCE_NEW=1 case "$1" in "--upgrade") shift $ARANGO_BIN --uid arangodb --gid arangodb --server.rest-server false --database.auto-upgrade true $@ RETVAL=$? ;; "--reopen-logs") shift if test -f $pidfile; then kill -1 `cat $pidfile` fi RETVAL=0 log_end_msg $RETVAL ;; *) $ARANGO_BIN --uid arangodb --gid arangodb --server.rest-server false --log.foreground-tty false --database.check-version RETVAL=$? if [ "$RETVAL" -eq 0 ]; then $ARANGO_BIN --uid arangodb --gid arangodb --log.foreground-tty false --pid-file "$pidfile" --temp.path "/var/tmp/arangod" --supervisor $@ RETVAL=$? else echo "database version check failed, maybe you need to run 'upgrade'?" fi ;; esac echo return $RETVAL } stop() { echo -n $"Stopping $ARANGO_BIN: " killproc -p "${pidfile}" -d 10 $ARANGO_BIN RETVAL=$? echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status -p ${pidfile} $ARANGO_BIN RETVAL=$? ;; restart) stop start ;; upgrade) echo $"Upgrading ArangoDB database files" start --upgrade ;; reload-log) log_daemon_msg "Re-Opening Logfiles $DESC" "$NAME" start --reopen-logs exit $? ;; *) echo $"Usage: $0 {start|stop|restart|status|help|upgrade}" exit 1 esac exit $RETVAL