Scripts em rc.local (inicie na inicialização), não inicie

0

No meu Debian /etc/rc.local , eu coloquei 2 scripts (um para Wifi AP, o outro para VPN client-connection):

sh /bootscripts/vpn.sh &
sh /bootscripts/wifiap.sh &

#test:
date >> /home/user24/Desktop/logdate

exit 0

Ambos os scripts são executáveis ( rwxr-xr-x ), e sua linha shebang é #!bin/bash .

Mas eles não correm. Onde estou errado?

    
por ArchiT3K 25.08.2015 / 14:53

1 resposta

1

Como /etc/rc.local é executado no final de cada runlevel multiusuário, não é o local correto para adicionar scripts de início. Eu recomendo não usar /etc/rc.local de qualquer forma. É um reclame para os primeiros tempos * nix. Em vez disso, crie um script de inicialização em /etc/init.d/name , que aceita start e stop arguments para iniciar ou interromper o deamon, o processo ou a tarefa:

#! /bin/sh
# /etc/init.d/name
#

case "$1" in
  start)
    echo "Starting name"
    your_service --with --parameters
    ;;
  stop)
    echo "Stopping name"
    kill your_service
    ;;
  *)
    echo "Usage: /etc/init.d/name {start|stop}"
    exit 1
    ;;
esac

exit 0

Também há um esqueleto de script em /etc/init.d/skeleton para isso.

Depois de criar esses scripts, defina as permissons:

chmod 755 /etc/init.d/name

Agora, adicione-os à sequência de inicialização:

update-rc.d name defaults

Isso criará os links necessários nos diretórios /etc/rc*.d/ .

    
por 25.08.2015 / 15:15