Não é possível executar o código na inicialização no arquivo init.d

Não é possível executar o código na inicialização no arquivo init.d

Estou trabalhando nisso há literalmente mais de 4 horas. Tudo o que estou tentando fazer é executar o seguinte código na inicialização:

IP_ADDR=$(/sbin/ifconfig eth0 | /bin/sed -rn 's/^.*inet addr:(([0-9]+\.){3}[0-9]+).*$/\1/p')
/usr/bin/wget -q -O /dev/null http://example.com/private/RPi_IP.php?send=${IP_ADDR}

Com example.com substituído pelo meu site. Por algum motivo, sempre que inicializo, recebo uma mensagem informando que o arquivo de inicialização que criei falhou. Eu não tenho ideia do que fazer. Eu até tentei escrever esse código em outros arquivos de inicialização de outros programas, e ainda assim ele falhou. Há algo realmente errado com esse código? Funciona bem como um script bash independente, mas não na inicialização.

Depois de criar o arquivo em que coloco isso, sempre faço:

chmod +x file
sudo update-rc.d file defaults

Há algo errado com o que estou fazendo acima? Estou em um Raspberry Pi com Raspbian, se isso for útil.

Responder1

Em vez de transformá-lo em um script de inicialização, se você precisar apenas executá-lo na reinicialização, eu usaria o cron.
@reboot /path/to/filefará com que ele seja executado na inicialização.
Os scripts em init.d precisam de linhas específicas e outros enfeites, e se você não precisa de todo esse problema, o cron faz o trabalho perfeitamente.

informação relacionada