J'ai un script simple qui démarre une instance de licorne (sur 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
Il se comporte correctement lorsqu'il est appelé: /etc/init.d/unicorn_boot.sh start
Je veux qu'il démarre au démarrage, alors j'ai couru:
update-rc.d -f unicorn_boot.sh defaults
Lorsque je redémarre maintenant, j'obtiens l'erreur suivante:
/etc/rc2.d/S20unicorn_boot.sh: 10: /etc/rc2.d/S20unicorn_boot.sh: bundle: not found
J'ai vérifié la bundle
commande, et elle est installée /usr/local/bin
, de même pour la ruby
commande.
Il semble qu'au démarrage, le PATH
ne comprend pas encore /usr/local/bin
. Comment puis-je réparer cela?
PATH="$PATH:/usr/local/bin"
pour ajouter vos chemins requis à la variable, plutôt que de remplacer entièrement la variable $ PATH.