Pour exécuter une commande au démarrage sous OS X, vous devez utiliser launchd
.
Si vous ne voulez pas utiliser Lingon vous devez créer un launchd
Liste des biens. Il s'agit d'un fichier XML, vous pouvez donc le faire avec votre éditeur de texte préféré ou utiliser l'éditeur de liste de propriétés installé avec les outils de développement Mac OS X. Créez les éléments suivants :
<?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>
Enregistrez ceci dans /Library/LaunchAgents/some.meaningful.name.plist
(vous aurez besoin d'un compte administrateur et/ou sudo
), puis ouvrez un terminal et faites :
sudo launchctl load /Library/LaunchAgents/some.meaningful.name.plist
Ceci fera en sorte que launchd charge l'élément qui fera en sorte de démarrer MongoDB au démarrage. En prime, launchd
le surveillera et, s'il sort pour une raison quelconque, il sera relancé. Pour se débarrasser de l'élément, il suffit de remplacer load dans la commande ci-dessus par unload.