init.d 파일에서 시작 시 실행할 코드를 가져올 수 없습니다.

init.d 파일에서 시작 시 실행할 코드를 가져올 수 없습니다.

말 그대로 4시간 넘게 이 일을 했습니다. 내가 하려는 것은 시작 시 다음 코드가 실행되도록 하는 것입니다.

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}

example.com이 내 웹사이트로 대체되었습니다. 어떤 이유에서인지 시작할 때마다 내가 만든 시작 파일이 실패했다는 메시지가 나타납니다. 나는 무엇을 해야할지 전혀 모른다. 다른 프로그램의 다른 시작 파일에 이 코드를 작성해 보았지만 여전히 실패합니다. 이 코드에 정말 잘못된 것이 있나요? 독립형 bash 스크립트로는 잘 작동하지만 시작 시에는 작동하지 않습니다.

나는 이것을 넣은 파일을 만든 후에 항상 다음을 수행합니다.

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

내가 위에서하고있는 일에 문제가 있습니까? 유용하다면 Raspbian이 설치된 Raspberry Pi를 사용하고 있습니다.

답변1

시작 스크립트로 만드는 대신 재부팅 시에만 실행해야 한다면 cron을 대신 사용하겠습니다.
@reboot /path/to/file시작 시 실행되도록 할 것입니다.
init.d의 스크립트에는 특정 줄과 기타 등등이 필요하며, 그 모든 faff가 필요하지 않으면 cron이 작업을 잘 수행합니다.

관련 정보