2016-11-23 21 views
0

シャットダウン時に実行される簡単な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

+0

この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

+0

'/ etc/rc6.d'のリンクは、' K01'のような接頭辞を持つ必要があります。スクリプトは数値順に実行されるため、ネットワーク接続を終了するスクリプトよりも小さい数値を指定する必要があります。 – Barmar

答えて

0

おかげで、でスクリップ。あなたは

で別々のインターフェース場所スクリプトのためにこれを行う必要がある場合

/etc/NetworkManager/dispatcher.d/ 

内のスクリプトを作成し、(例えば)という名前を付けます:

wlan0-down 

を、あまりにも動作するはずです。

関連する問題