Para executar um comando na inicialização do OS X, você precisa usar launchd
.
Se você não quiser usar o Lingon , precisará criar uma launchd
Property List. Este é um arquivo XML, portanto, você pode fazê-lo com seu editor de texto favorito ou, como alternativa, pode usar o Editor de lista de propriedades instalado com o Mac OS X Dev Tools. Crie o seguinte:
<?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>
Salve isso em /Library/LaunchAgents/some.meaningful.name.plist
(você precisará de uma conta de administrador e / ou sudo
), abra um terminal e faça:
sudo launchctl load /Library/LaunchAgents/some.meaningful.name.plist
Isso fará com que o launchd carregue o item que fará com que ele inicie o MongoDB na inicialização. Como bônus, launchd
irá monitorá-lo e, se sair por qualquer motivo, será reiniciado. Para se livrar do item, simplesmente substitua load no comando acima com unload.