O script de inicialização às vezes falha - máquina virtual rc.local

0

Adicionei uma linha simples:

python <path-to-my-script> &

para /etc/rc.local, mas notei que, após a migração de um host para o outro, o script às vezes falha.

Estou usando o KVM, as VMs estão no Ubuntu 12.04 de 32 bits. O host tem o Ubuntu 12.04 de 64 bits e estou usando o Live Migration (nuvem privada construída com o Openstack).

Eu não sei se é culpa do KVM / Libvirt ou talvez eu esteja fazendo algo errado no Ubuntu ou talvez seja culpa do software em nuvem?

Poderia ser culpa local? Existe algo que eu deveria saber, quando estou usando rc.local e pode ser uma causa desse comportamento?

    
por Simon 10.10.2012 / 19:25

2 respostas

2

Tente adicionar uma pausa de 10 segundos antes do comando de script. Às vezes o rc.local é executado cedo demais ...

Exemplo:

...
# By default this script does nothing.
sleep 10 
python <path-to-my-script> &
exit 0
    
por Rich 26.10.2012 / 20:34
0

Você deve primeiro verificar se o seu programa não está travando. A maneira mais fácil de fazer isso é redirecionar sua saída para um arquivo e inspecioná-lo posteriormente (sinta-se à vontade para substituir /myprogram.log para outra coisa):

python <path-to-my-script> &>/myprogram.log &

Além disso, verifique se rc.local tem a seguinte linha no final

exit 0

e é executável. Você pode verificar isso usando ls -la /etc/rc.local . Deve mostrar algo assim:

ls -la /etc/rc.local
-rwxr-xr-x 1 root root 629 Aug 10 19:41 /etc/rc.local

Se esse não for o caso, você poderá torná-lo executável emitindo sudo chmod +x /etc/rc.local .

    
por Salem 10.10.2012 / 19:52