셧다운시 실행되는 간단한 init.d 스크립트 "S3logrotate"를 설정했습니다. "S3logrotate"스크립트는 명령 줄에서 수동으로 실행해도 제대로 작동하지만 시스템 종료시 스크립트가 올바르게 작동하지 않습니다.init.d 스크립트를 실행하기 전에 Wifi의 연결이 끊어졌습니다.
스크립트는 내 PC에서 Amazon S3 버킷으로 로그를 업로드하며 올바르게 실행하려면 wifi가 필요합니다.
디버깅은 스크립트가 실제로 실행되었지만 업로드 프로세스가 실패 함을 증명했습니다.
이 문제는 wifi가 종료 된 후 스크립트가 실행되는 것 같습니다.
다음은 스크립트에서 인터넷 연결을 테스트하는 데 사용한 블록입니다.
if ping -q -c 1 -W 1 8.8.8.8 >/dev/null; then
echo "IPv4 is up" >> *x.txt*
else
echo "IPv4 is down" >> *x.txt*
fi
if ping -q -c 1 -W 1 google.com >/dev/null; then
echo "The network is up" >> *x.txt*
else
echo "The network is down" >> *x.txt*
fi
이 블록의 출력은 일 :있는 init.d 스크립트의 우선 순위를 설정하는 방법이
IPv4 is down
The network is down
있는가? 네트워크 연결이 끊어지기 전에 스크립트를 실행할 수 있습니까? 그렇지 않다면 init.d에 대한 대안이 있습니까?
나는 우분투 16.04를 사용하며, 중요한 경우 Windows 10으로 듀얼 부팅합니다.
chown root:root S3logrotate
을 뿌리
/etc/NetworkManager/dispatcher.d/pre-down.d
변화 그룹과 소유자와 그것을 작동합니다 : 당신은 당신을 배치해야
sganesan7
이 Q는 StackOverflow에 정의 된 프로그래밍과 관련이 없습니다. ** ** S.E.에 더 적합 할 수 있습니다. 관련 사이트 http://askubuntu.com 또는 http://superuser.com. Q 하단의 '깃발'링크를 사용하여 운영자에게 이동하도록 요청하십시오. 2 개의 다른 사이트에 같은 Q를 게시하지 마십시오. 여기에 Q를 더 게시하기 전에 http://stackoverflow.com/help/how-to-ask http://stackoverflow.com/help/dont-ask 및 http://stackoverflow.com/help/mcve를 읽으십시오. 행운을 빕니다. – shellter
'/ etc/rc6.d'의 링크는'K01'과 같은 숫자 접두어를 가져야합니다. 스크립트는 숫자 순서로 실행되므로 네트워크 연결을 종료하는 스크립트보다 낮은 번호를 지정해야합니다. – Barmar