Ich arbeite an einem Gott-Skript, um meine Unicorns zu überwachen. Ich habe mit GitHubs Beispielskript begonnen und es so modifiziert, dass es meiner Serverkonfiguration entspricht. Sobald Gott läuft, funktionieren Befehle wie god stop unicorn
und god restart unicorn
gut.Mit Gott Unicorn zu überwachen - Start beendet mit Nicht-Null-Code = 1
jedoch god start unicorn
Ergebnisse in WARN: unicorn start command exited with non-zero code = 1
. Der komische Teil ist, dass, wenn ich das Startskript direkt aus der Konfigurationsdatei kopiere, es direkt wie ein brandneuer Mustang beginnt.
Das ist mein Startbefehl:
/usr/local/bin/unicorn_rails -c /home/my-linux-user/my-rails-app/config/unicorn.rb -E production -D
ich erklärt haben alle Pfade als absolute in der Konfigurationsdatei. Irgendwelche Ideen, die verhindern könnten, dass dieses Skript funktioniert?
Interessant ... das war ein wirklich guter Vorschlag. Ich habe die Echo-Addition verwendet, um die Ausgabe der Start- und Stoppbefehle zu lesen, wenn sie außerhalb von Gott ausgeführt wurden. Beide gingen mit einem Wert von "0" aus. Wenn jedoch identische Befehle von god ausgeführt werden, wird es mit einem Wert von "1" beendet. Alle Prozesse sollen als Wurzel beginnen ... sowohl Gott als auch die Einhörner. Ich frage mich, ob es hier einen übergreifenden Berechtigungsfehler gibt. Scheint das eine plausible Antwort? – mindtonic
yeah klingt wie, obwohl gott als root läuft, könnte es den Befehl als ein anderer Benutzer ausführen? Sieht aus, als könntest du den Benutzer gott setzen, der die Befehle wie folgt ausführt: God.watch do | w | ... w.uid = 'root' w.gid = 'root' ... Ende – Jeremy