Om een commando uit te voeren bij het opstarten op OS X, moet je launchd
gebruiken.
Als je geen Lingon wilt gebruiken, moet je een launchd
Property List maken. Dit is een XML-bestand, dus je kunt dit doen met je favoriete tekstverwerker of je kunt de Property List Editor gebruiken die geïnstalleerd is met de Mac OS X Dev Tools. Maak het volgende:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>some.meaningful.name</string> <!-- org.mongodb.mongodb perhaps? -->
<key>OnDemand</key>
<false/>
<key>UserName</key>
<string>anAppropriateUser</string>
<key>GroupName</key>
<string>anAppropriateGroup</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/MongoDB/bin/mongod</string>
<string>--dbpath</string>
<string>/usr/local/mongo/data</string>
<string>--fork</string>
<string>--logpath</string>
<string>/usr/local/mongo/log</string>
</array>
</dict>
</plist>
Sla dit op in /Library/LaunchAgents/some.meaningful.name.plist
(je hebt een administrator account nodig en/of sudo
), open dan een terminal en doe:
sudo launchctl load /Library/LaunchAgents/some.meaningful.name.plist
Dit zal launchd het item laten laden waardoor het MongoDB zal starten bij het opstarten. Als bonus zal launchd
het in de gaten houden en, als het om wat voor reden dan ook afsluit, zal het opnieuw worden gestart. Om van het item af te komen, vervangt u load in het bovenstaande commando door unload.