1

わかりました、これは奇妙なものです。基本的に、私がやろうとしているのは、wlan0ネットワークインターフェイスを再起動するコマンドの実行を遅らせるスリープタイマーを使用して無限ループを実行することです。奇妙に聞こえますが、何らかの理由で、ネットワークカードは約2時間後にネットへの接続を停止します。すべてを締めくくるには、UNI用のWebサーバーを実行しており、リモートでアクセスできる必要があります。接続がダウンした場合、私は運が悪いです。:|

私はこれを見つけました:Bash "if ping then else" My elseは機能していません。これは、ネットワークインターフェイスを管理するための非常に優れた方法であり、pingが停止したときにのみ再構成を行います。ただし、これは非常に複雑です。そして、私は他のいくつかの同様のコードを見つけましたが、それらは同様に曖昧でした。

正直なところ、私はCベースのプログラマーです。とにかく、この段階でのC#C ++とJava(Pythonは実際には言及する価値がありません)とにかく、既存のスニペットを変更することはもちろん、bashコードを読むだけでも楽しんでいます。:)

これがsudoコードでやりたいことです。

do {
    sleep 3600s //works
    sudo ifconfig wlan0 down //works in terminal but not script
} while(false);

これでほぼ完了です。スクリプトは起動時に実行されます。ユーザーが手動で、または起動アプリケーションシステムを介して。自動にしたいのですが、ifconfigコマンドをsudoとして実行する必要があります。つまり、スクリプトをsudoとして実行する必要があります。:)

そして、ヒントやポインタをいただければ幸いです。sudoのパスワードを入力するための古いエコー回避策を試しましたが、予想どおり、Ubuntu開発者はそれをブロックする方法を理解しました。

この Bashスクリプトは、ループ上のインターフェイスを起動および停止し、 この Making bashスクリプトは、接続を確認し、必要に応じて接続を変更します。私がそれを改善するのを手伝ってください? 2つ目は私が望むことを実行しますが、他のbashスクリプトを実行していますか???? :)

編集-1:わかりました....私はCrontabを使用しましたが、コマンドラインからsudo ifconfig wlan0を呼び出したときのように、何かが機能しているとは思いません。しかし、明日は実行したままにして、オンラインを維持できることを確認します。:)そうでなければ、私はここから何ができるのか考えていませんか?

ちなみに、この特定のデバイスでifconfig downが機能している方法は、コマンドが約20秒後にデバイスをオフラインにし、デバイスのスイッチをオンに戻すと、ネットワークが自動的に検出されて再接続されます。:) MACアドレスにバインドされたIPアドレスのどちらの礼儀は、私にとって問題を引き起こしません。:)

4

3 に答える 3

0

を使用してパスワードを回避する必要がある場合は、次のことを試してください。

$ sudo visudo

次に、次のように編集します。

Host_Alias LOCAL=10.0.0.1 # your own local IP address
user2213541        LOCAL=NOPASSWD: /sbin/ifconfig

コマンド@start_upを実行する最も簡単な方法は、に行を追加する/etc/rc.localことです。これはrootとして実行されます。

于 2013-03-26T22:32:17.820 に答える
0

これにシェルスクリプトを書きたいのなら、それはあなた次第ですが、私はすでに存在するものを再利用するのが大好きです。

cronを使用して、スクリプトを1時間ごとに実行します。rootアカウント用に設定し、インターフェースを混乱させます。

于 2013-03-26T22:41:47.547 に答える
0

さて、Crontabを使用してタスクを完了しましたが、サーバーは7時間接続されたままです。

ifconfigコマンドを実行できるように、crontabの所有者をrootとして設定しました。このスクリプト「0*/ 1 * * * sudo / sbin / ifconfig wlan0 down」を使用しましたが、機能しているようです。今、これを自分でやろうとしている人たちのために。あなたのネットワークデバイスが実際に私のものを実行することを警戒する必要があります。TP-Linkデュアルバンドネットワークカードを持っています。理由はわかりませんが、このカードをubuntuと組み合わせると、このコマンドにより、自動再起動と自動再接続が自動的に行われます。

あなたのマイレージは異なります。:)私はラップトップでこのコマンドを実行しましたが、ネットワークデバイスを再起動しませんでした... :)ええ、デバイスを持ってくるために一致するコマンドを作成する方法を理解したいかもしれませんが、私でさえしなければなりませんでした手動でwifiに再接続します。:| ただし、このセットアップ、このネットワークデバイスでは、機能します。:)

しかし、ええ。:)楽しんで、注意してください:)

于 2013-03-28T04:19:21.383 に答える