diff options
-rw-r--r-- | rpm/init.d-mongod | 45 | ||||
-rw-r--r-- | rpm/mongo.spec | 14 | ||||
-rw-r--r-- | rpm/mongod.conf | 5 |
3 files changed, 39 insertions, 25 deletions
diff --git a/rpm/init.d-mongod b/rpm/init.d-mongod index c099ef958d0..2c634f6aa0c 100644 --- a/rpm/init.d-mongod +++ b/rpm/init.d-mongod @@ -12,30 +12,37 @@ # things from mongod.conf get there by mongod reading it + + OPTIONS=" -f /etc/mongod.conf" +SYSCONFIG="/etc/sysconfig/mongod" mongod=${MONGOD-/usr/bin/mongod} -pidfile=${PIDFILE-/var/run/mongod.pid} -lockfile=${LOCKFILE-/var/lock/subsys/mongod} + +MONGO_USER=mongod +MONGO_GROUP=mongod + +. "$SYSCONFIG" || true start() { echo -n $"Starting mongod: " - #daemon --pidfile=${pidfile} $mongod $OPTIONS > /var/log/mongod - $mongod $OPTIONS > /var/log/mongod 2>&1 & + daemon --user "$MONGO_USER" $mongod $OPTIONS RETVAL=$? - [ $RETVAL = 0 ] && touch ${lockfile} - echo OK + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/mongod && success } stop() { echo -n $"Stopping mongod: " - #killproc -p ${pidfile} -d 10 $mongod - #RETVAL=$? - killall mongod > /dev/null 2>&1 - #[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile} - echo OK + killproc -p /var/lib/mongo/mongod.lock -t30 -TERM /usr/bin/mongod + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/mongod &7 success +} + +restart () { + stop + start } ulimit -n 12000 @@ -48,15 +55,17 @@ case "$1" in stop) stop ;; - restart) - stop - start + restart|reload|force-reload) + restart + ;; + condrestart) + [ -f /var/lock/subsys/mongodb ] && restart || : + ;; + status) + status $mongod ;; -# status) -# status -p ${pidfile} $mongod -# ;; *) - echo $"Usage: $0 {start|stop|restart}" + echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}" RETVAL=1 esac diff --git a/rpm/mongo.spec b/rpm/mongo.spec index 07205596531..1c9875c019d 100644 --- a/rpm/mongo.spec +++ b/rpm/mongo.spec @@ -23,6 +23,7 @@ client utilities. %package server Summary: mongo server, sharding server, and support scripts Group: Applications/Databases +Requires: mongo %description server Mongo (from "huMONGOus") is a schema-free document-oriented database. @@ -59,16 +60,16 @@ cp rpm/mongod.conf $RPM_BUILD_ROOT/etc/mongod.conf mkdir -p $RPM_BUILD_ROOT/etc/sysconfig cp rpm/mongod.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/mongod mkdir -p $RPM_BUILD_ROOT/var/lib/mongo -mkdir -p $RPM_BUILD_ROOT/var/log -touch $RPM_BUILD_ROOT/var/log/mongo +mkdir -p $RPM_BUILD_ROOT/var/log/mongo +touch $RPM_BUILD_ROOT/var/log/mongo/mongod.log %clean scons -c rm -rf $RPM_BUILD_ROOT %pre server -#/usr/sbin/useradd -M -o -r -d /var/lib/mongo -s /bin/bash \ -# -c "mongod" mongod > /dev/null 2>&1 || : +/usr/sbin/useradd -M -r -U -d /var/lib/mongo -s /bin/false \ + -c mongod mongod > /dev/null 2>&1 %post server if test $1 = 1 @@ -120,8 +121,9 @@ fi /etc/rc.d/init.d/mongod /etc/sysconfig/mongod #/etc/rc.d/init.d/mongos -%attr(0755,root,root) %dir /var/lib/mongo -%attr(0640,root,root) %config(noreplace) %verify(not md5 size mtime) /var/log/mongo +%attr(0755,mongod,mongod) %dir /var/lib/mongo +%attr(0755,mongod,mongod) %dir /var/log/mongo +%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) /var/log/mongo/mongod.log %files devel /usr/include/mongo diff --git a/rpm/mongod.conf b/rpm/mongod.conf index 0c871866cde..b8897b27b4c 100644 --- a/rpm/mongod.conf +++ b/rpm/mongod.conf @@ -1,7 +1,10 @@ # mongo.conf #where to log -logpath=/var/log/mongod +logpath=/var/log/mongo/mongod.log + +# fork and run in background +fork = true #port = 27017 |