シャットダウン時に実行される簡単なinit.dスクリプト "S3logrotate"を設定しました。 "S3logrotate"スクリプトは、コマンドラインから手動で実行すると正常に動作しますが、シャットダウン時にスクリプトが正しく機能しません。init.dスクリプトが実行される前に無線LANが切断されました
スクリプトは自分の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
このブロックの出力は、次のとおりです。
IPv4 is down
The network is down
はinit.dスクリプトの優先順位を設定する方法はありますか?ネットワーク接続が終了する前にスクリプトを実行させることはできますか?もしそうでなければ、init.dの代替手段はありますか?
私はUbuntu 16.04を使用しており、重要なのであればWindows 10でデュアルブートしています。
chown root:root S3logrotate
をrootに
/etc/NetworkManager/dispatcher.d/pre-down.d
チェンジグループと所有者とそれが動作するはずです:あなたはあなたを置くべき
sganesan7
このQは、StackOverflowで定義されているプログラミングに関するものではありません。それは、S.E.関連サイトhttp://askubuntu.comまたはhttp://superuser.com。あなたのQの下にある 'flag'リンクを使って、司会者にそれを移動するように依頼してください。 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