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
Lista de propriedades. Este é um arquivo XML, para que você possa fazer isso com o seu editor de texto favorito ou, como alternativa, pode usar o Editor de Lista de Propriedades instalado com as Ferramentas de Desenvolvimento do Mac OS X. 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, o que fará com que o MongoDB inicie na inicialização. Como bônus, ele launchd
será monitorado e, se sair por algum motivo, será reiniciado. Para se livrar do item, basta substituir a carga no comando acima por descarregar.
/etc
ele deverá ser executado na inicialização? Importa em que está?