Um einen Befehl beim Starten unter OS X auszuführen, müssen Sie launchd
verwenden.
Wenn Sie Lingon nicht verwenden möchten, müssen Sie eine launchd
Property List erstellen. Dies ist eine XML-Datei, so dass Sie dies mit Ihrem bevorzugten Texteditor tun können oder alternativ den Property List Editor verwenden können, der mit den Mac OS X Dev Tools installiert wird. Erstellen Sie das Folgende:
<?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>
Speichern Sie dies in /Library/LaunchAgents/some.meaningful.name.plist
(Sie benötigen ein Administratorkonto und/oder sudo
), öffnen Sie dann ein Terminal und führen Sie aus:
sudo launchctl load /Library/LaunchAgents/some.meaningful.name.plist
Dies veranlasst launchd, das Element zu laden, was dazu führt, dass es MongoDB beim Booten startet. Als Bonus wird launchd
es überwachen und, wenn es aus irgendeinem Grund beendet wird, wird es neu gestartet. Um das Element loszuwerden, ersetzen Sie einfach load im obigen Befehl durch unload.