O comando
echo 'test' >> sudo /tmp/unicorn
é o mesmo que
echo 'test' /tmp/unicorn >> sudo
então acrescenta a linha
test /tmp/unicorn
para o arquivo sudo na pasta atual.
Se você deseja acrescentar test ao arquivo /tmp/unicorn usando privilégios de root, use
echo 'test' | sudo tee -a /tmp/unicorn
em vez disso. Como /etc/rc.local é executado pela raiz, você não precisa de sudo , mas apenas
echo 'test' >> /tmp/unicorn
Da mesma forma, o comando
/etc/init.d/unicorn_lescollectionneurs start >> sudo /tmp/unicorn
é o mesmo que
/etc/init.d/unicorn_lescollectionneurs start /tmp/unicorn >> sudo
Dependendo de como /etc/init.d/unicorn_lescollectionneurs está escrito, isso pode ou não produzir um erro (o mais provável é que não e /tmp/unicorn é simplesmente ignorado).
A linha
RAILS_ENV=staging
é apenas definir a variável RAILS_ENV , mas não exportá-la. Portanto, não está disponível para /etc/init.d/unicorn_lescollectionneurs e seus processos filhos. Use
export RAILS_ENV=staging
em vez disso.