1

This command:

mongod --fork --dbpath ../data --smallfiles --logpath ../data/mongo.log

runs perfectly from terminal, while in directory /mongo/bin/

But, when I use same command and directory for upstart session job file (at $HOME/.config/upstart):

# mongod_service - mongoDB job file
description "MongoDB service"
author "admin"

# When to start the service
start on runlevel [2345]

# When to stop the service
stop on runlevel [016]

# Automatically restart process if crashed
# respawn

# Essentially lets upstart know the process will detach itself to the background
expect fork

# working directory
chdir /mongo/bin/

# log this job
console log

# Start mongod as daemon
exec /mongo/bin/mongod --fork --dbpath /mongo/data --smallfiles --logpath /mongo/data/mongo.log

Update: Changed job file and It starts fine now, but when I try to stop it with initctl stop mongod-service, the command never completes !.

Can anyone suggest how to make this work ?

user117
  • 133

1 Answers1

1

Even if you are using a version of MongoDB built from Git, you can still reuse the official upstart config file:

https://github.com/mongodb/mongo/blob/master/debian/mongod.upstart

and update it as required.

Seth
  • 58,122