script init.d não está sendo iniciado no VirtualBox

0

O script está em /etc/init.d:

#!/bin/bash

VMUSER=myname
CURRDATE=('date +"%m-%d-%Y"' + 'date +"%H:%M:%S"')
CURRTIME=('date +"%X"')
FILE=/home/myname/log/vm-services.log
VBPATH=/usr/bin


start(){

   echo "Starting VM Guest"
   echo "Starting VM Services on $CURRDATE at $CURRTIME" >> $FILE
   sudo -u $VMUSER $VBPATH/VBoxManage startvm sherbet --type headless
}

stop(){

   echo "Stopping VM Guest"
   echo "Stopping VM Services on $CURRDATE at $CURRTIME" >> $FILE
   sudo -u $VMUSER $VBPATH/VBoxManage controlvm sherbet savestate
}

restart(){
   echo "Restart"
   echo "Restarted on $CURRDATE at $CURRTIME" >> $FILE
}

case "$1" in
 start)
   echo "In Start" >> $FILE
   start
   ;;
 stop)
   stop
   ;;
 restart)
   restart
   ;;
 *)
    echo "Usage: vm-service {start|stop}"
    exit 1
esac

Quando eu reinicio o script, a parada é chamada. Mas o Ubuntu reinicia o início nunca é chamado. O script parece ter as configurações corretas de execução:

O eco para o desligamento está funcionando porque vejo a entrada.
Eu instalei o script da seguinte forma:

= > sudo update-rc.d padrões vm-services 99 01

Posso iniciar / parar manualmente sem problemas: = > /etc/init.d/vm-services start = > /etc/init.d/vm-services stop

Qualquer aviso seria apreciado

Atualização 19/08/2014 - 13:24 Eu modifiquei o script acima agora inclui VBPATH que aponta para o caminho VBoxManage. Mas isso não funciona. A parada é sempre chamada quando é reiniciada, mas o início nunca é atingido. Apenas enviando a string para o arquivo não é atingido. Na reinicialização, ele faz isso sempre.

    
por adviner 19.08.2014 / 20:41

2 respostas

1

OK, o problema foi porque eu fiz check off quando eu instalei para ter meu diretório home criptografado. Então, quando eu coloco a opção de depuração no meu script:

~ / bin / bash -x

Percebi que, quando o script tentou ser executado, ele dizia que a pasta base não podia ser descriptografada. Então eu fui em frente e removi a criptografia para pastas de casa e reiniciei o computador e tudo funciona agora. O processo para remover a criptografia é várias etapas que podem ser encontradas here

    
por 20.08.2014 / 20:10
0

Eu estaria olhando para colocar uma atribuição específica para variável de ambiente PATH para que você tenha certeza de que o script de inicialização está recebendo os binários do local certo. Nesse caso, pode ser que o ambiente de inicialização não contenha o caminho apropriado para o programa que você precisa executar.

    
por 19.08.2014 / 21:39