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


0

말 그대로 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를 사용하고 있습니다.


파일에이 두 줄만 포함되어 있습니까? 오류 메시지가 표시 될 수 있습니까?
terdon

이더넷 연결이 설정된 후에이 파일이 실행 되었습니까? 그렇지 않은 경우 실패를 이해하기 쉽습니다. 이를 확인하기 위해 /etc/rc.local 끝에이 두 줄의 코드를 삽입하고 수면 30과 같은 코드를 삽입하면됩니다.
MariusMatutiae

답변:


1

시작 스크립트로 만들지 않고 재부팅 할 때만 실행 해야하는 경우 대신 cron을 사용합니다.
@reboot /path/to/file시작시 실행됩니다.
init.d의 스크립트에는 특정 줄과 그 밖의 것이 필요하며, 모든 faff가 필요하지 않으면 cron이 잘 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.