Code kann beim Start in der Datei init.d nicht ausgeführt werden

Code kann beim Start in der Datei init.d nicht ausgeführt werden

Ich arbeite buchstäblich seit über 4 Stunden daran. Ich versuche lediglich, den folgenden Code beim Start auszuführen:

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}

Dabei wurde example.com durch meine Website ersetzt. Aus irgendeinem Grund erhalte ich jedes Mal beim Start die Meldung, dass die von mir erstellte Startdatei fehlgeschlagen ist. Ich habe keine Ahnung, was ich tun soll. Ich habe sogar versucht, diesen Code in andere Startdateien für andere Programme zu schreiben, und es schlägt trotzdem fehl. Stimmt mit diesem Code wirklich etwas nicht? Als eigenständiges Bash-Skript funktioniert er einwandfrei, aber nicht beim Start.

Nachdem ich die Datei erstellt habe, in die ich dies einfüge, mache ich immer Folgendes:

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

Stimmt etwas nicht mit dem, was ich oben mache? Ich verwende einen Raspberry Pi mit Raspbian, falls das hilfreich ist.

Antwort1

Wenn Sie es nur beim Neustart ausführen müssen, würde ich es nicht in ein Startskript umwandeln, sondern stattdessen cron verwenden. Dadurch
@reboot /path/to/filewird es beim Start ausgeführt.
Die Skripte in init.d benötigen bestimmte Zeilen und so weiter, und wenn Sie diesen ganzen Aufwand nicht brauchen, erledigt cron die Arbeit auch gut.

verwandte Informationen