Ich habe ein einfaches Skript, das eine Einhorninstanz startet (unter Ubuntu 12.04LTS).
#!/bin/sh
case "$1" in
start)
echo "starting"
cd /path && bundle exec unicorn -c /path/config/unicorn.rb -D -E production
;;
stop)
echo "Stopping Unicorn Instances"
kill `cat /tmp/unicorn.pid`
;;
restart)
echo "sending USR2 to all unicorns"
kill -s USR2 `cat /tmp/unicorn.pid`
;;
esac
exit 0
Es verhält sich korrekt, wenn es aufgerufen wird: /etc/init.d/unicorn_boot.sh start
Ich möchte, dass es beim Booten startet, also lief ich:
update-rc.d -f unicorn_boot.sh defaults
Beim Neustart wird folgende Fehlermeldung angezeigt:
/etc/rc2.d/S20unicorn_boot.sh: 10: /etc/rc2.d/S20unicorn_boot.sh: bundle: not found
Ich habe den bundle
Befehl überprüft und er ist installiert /usr/local/bin
, genau wie der ruby
Befehl.
Es scheint, dass das beim Booten PATH
noch nicht beinhaltet /usr/local/bin
. Wie kann ich das beheben?
PATH="$PATH:/usr/local/bin"
Ihre erforderlichen Pfade an die Variable anzuhängen, anstatt die Variable $ PATH vollständig zu überschreiben.