Você verificou que o insserv funcionou?
Se você executar chkconfig --list | grep myscript
, você recebe alguma saída?
Eu preciso do script de amostra a seguir para ser executado quando o OpenSuSe 11 estiver sendo inicializado:
#!/bin/sh
i=0;
while true; do
"SOME COMMAND FOR SAVING i TO ANOTHER PLACE" &> /dev/null
i=$((i+1))
sleep 1
done
Então, basicamente, adicione 1 a cada segundo em uma variável e, em seguida, envie a variável para outro sistema. Eu salvei este script em /bin/user/script.sh
Iniciar o script a partir do console funciona perfeitamente ..
/bin/user/script.sh > /dev/null 2>&1 &
Primeiro, adicionei esta linha ao /etc/init.d/boot.local existente que vem com o OpenSuSe, no entanto, isso não estava funcionando tão estável. Às vezes foi iniciado e às vezes não. Eu pensei por causa dos direitos do usuário, mas mesmo depois de
chmod 755 script.sh
O problema continua. Então eu fiz meu próprio /etc/init.d/myscript
Conteúdo do /etc/init.d/myscript:
#! /bin/sh
#
# /etc/init.d/myscript
#
### BEGIN INIT INFO
# Provides: myscript
# Required-Start:
# Required-Stop:
# Default-Start: 3 5
# Default-Stop: 0
# Short-Description: Start myscript while booting
# Description: ...
### END INIT INFO
#
#
#
case "$1" in
start)
echo "Starting myscript."
/bin/user/script.sh > /dev/null 2>&1 &
;;
stop)
echo "Stopping myscript."
killall -9 script.sh
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
Então eu fiz o comando insserv para o meu script:
insserv myscript
Iniciando e parando de trabalhos do console.
/etc/init.d/myscript start
/etc/init.d/myscript stop
mas novamente nenhum sinal de vida para o myscript após o boot.
O que estou fazendo de errado? Como posso executar com sucesso um script toda vez que o sistema é iniciado?
Atualização 2015.11.12: Este script está funcionando e iniciando corretamente na inicialização do OpenSuSe 11.
Você verificou que o insserv funcionou?
Se você executar chkconfig --list | grep myscript
, você recebe alguma saída?