2017-03-14 4 views
0

私は、ネットワークが明らかに無作為な時間に落ちるコンピュータに不満を感じていました。回避策として、1時間ごとにそれを再起動する単純なcronジョブを作成しました。しかし、ネットワークが既に稼働している場合、これはばかげているようです。Cronジョブがダウンしている場合のみネットワークを再起動しますか?

ネットワークが動作しているかどうかを確認するために最初にチェックする(ping-ifconfig?)偽を返す場合にのみ再起動する簡単なスクリプトがありますか?または、自分自身をチェックするネットワークマネージャ上のフラグ?この「ネットワーク管理」をする最善の方法のアイデアを誰にも事前に

15 * * * * /sbin/service network-manager restart 

ありがとう:

私のcronがこれだけです! (しゃれ意図!)あなたのcrontabから

答えて

0

コールより複雑なスクリプト:-):ネットワークアップのためのテスト用として

15 * * * * mySafeRestart 


#/bin/bash 
# mySafeRestart : restart only if uncommunicative 
if ! ping -c 1 remote.host.com ; then 
    /sbin/service network-manager restart 
fi 

、netcatをテストを使用してHow to test an Internet connection with bash?

を参照してください以下の提案は次のようになります:

if ! nc -w 2 google.com 80 ; then 
    ... 
+0

私はpingが動作するネットワーク接続を見たことがありますが、TCPとUDPパケットはそれを作ることができません。ネットワークをチェックするのに 'nc'やそのようなツールを使うことをお勧めします。 –

+0

こんにちは@AlexisWilke、コメントありがとう。 ncを使って同様のソリューションを提供できますか?私は上記のようなことを念頭に置いていましたが、pingに深刻な問題がある場合は、理想的ではないかもしれません。私はプログラマーではないので、その面での助けがあれば素晴らしいだろう。 – user1149499

+0

@ user1149499ここをクリックhttp://stackoverflow.com/questions/4922943/test-from-shell-script-if-remote-tcp-port-is-open#9463554 –

関連する問題