]> git.pld-linux.org Git - packages/mongodb.git/blobdiff - mongodb.init
- fix for "'swap' is not a member of 'std'" in gcc 4
[packages/mongodb.git] / mongodb.init
old mode 100644 (file)
new mode 100755 (executable)
index a790a41..99a4d70
@@ -4,7 +4,7 @@
 #
 # chkconfig:   345 60 40
 #
-# description: mongod is a cache daemon.
+# description: mongod is a NoSQL database daemon.
 #
 # processname: mongod
 # pidfile:      /var/run/mongod.pid
@@ -38,7 +38,6 @@ else
 fi
 
 MONGOD_BIN="/usr/bin/mongod"
-MONGOD_LOGFILE="/var/log/mongo/mongod.log"
 MONGOD_PIDFILE="/var/run/mongod.pid"
 MONGOD_CONFIG="/etc/sysconfig/mongod"
 
@@ -55,11 +54,21 @@ start() {
                return
        fi
 
-       msg_starting "mongod"
-       daemon --pidfile $MONGOD_PIDFILE --user $MONGOD_USER \
-               $MONGOD_BIN --config /etc/mongod.conf run
-       ret=$?
-       [ $ret = 0 ] || RETVAL=$?
+       started=0
+       for config in /etc/mongod/*.conf ; do
+               instance=$(basename "$config" .conf)
+               msg_starting "mongod '$instance' instance"
+               if [ "$instance" = "default" ] ; then
+                       pidfile="$MONGOD_PIDFILE"
+               else
+                       pidfile="${MONGOD_PIDFILE%.pid}-$instance.log"
+               fi
+               daemon --pidfile "$pidfile" --user $MONGOD_USER \
+                       $MONGOD_BIN --config "$config" --fork
+               [ $? -eq 0 ] && started=$(($started + 1))
+       done
+       # at least one started - the service is running
+       [ $started -eq 0 ] && RETVAL=1
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/mongod
 }
 
@@ -69,8 +78,16 @@ stop() {
                return
        fi
 
-       msg_stopping "mongod"
-       killproc --pidfile $MONGOD_PIDFILE mongod
+       for config in /etc/mongod/*.conf ; do
+               instance=$(basename "$config" .conf)
+               msg_stopping "mongod '$instance' instance"
+               if [ "$instance" = "default" ] ; then
+                       pidfile="$MONGOD_PIDFILE"
+               else
+                       pidfile="${MONGOD_PIDFILE%.pid}-$instance.log"
+               fi
+               killproc --pidfile "$pidfile" mongod
+       done
        rm -f /var/lock/subsys/mongod >/dev/null 2>&1
 }
 
@@ -92,8 +109,16 @@ reload() {
                return
        fi
 
-       msg_reloading "mongod"
-       killproc --pidfile $MONGOD_PIDFILE mongod -HUP
+       for config in /etc/mongod/*.conf ; do
+               instance=$(basename "$config" .conf)
+               msg_reloading "mongod '$instance' instance"
+               if [ "$instance" = "default" ] ; then
+                       pidfile="$MONGOD_PIDFILE"
+               else
+                       pidfile="${MONGOD_PIDFILE%.pid}-$instance.log"
+               fi
+               killproc --pidfile "$pidfile" mongod -HUP
+       done
 }
 
 RETVAL=0
This page took 0.045403 seconds and 4 git commands to generate.