2011-02-07 3 views
0

行くなら、私とのメールを送信するシェルスクリプトを作成しようとしています。応答がない場合は、私にそれがダウンしていることを伝える電子メールを送信します。私がやろうとしています何IPアドレスiがping応答をチェックするシェルスクリプトを作成しようとしていますこんにちは ダウン

は私のスイッチのいずれかがダウンした場合にEメールを受信することです。これはcronジョブとして実行しようとしている

ところで 任意の助けを事前に感謝します。

+0

ので、私はSCRIを作成しましたpt while ping -c 3 172.16.0.255 | grep $ reponse; $ reponse = "Request"の場合 ; メール-s「広告のスイッチがダウンしている」私は間違った構文を使用してい粗いの他[email protected] exit0 。 2つの例は非常に役立ちますが、私は彼らが必要とするような方法で作業していません。私はかなり新しいシェルスクリプトですので、変数を宣言する方法を正確にはわかりません。あなたは「私は、接続を失った」という名前のファイルを持っていない限り –

答えて

0

私がpingの戻り値が標準化されているかどうかを知るので、あなたのpingのためのマニュアルを参照してください、しかし、あなたの場合はありませんpingはあなたが簡単に行うことができ、その後、妥当な値を返します(。。少なくとも1つの応答を受信した場合はゼロを意味する「合理的な値」という条件BSDピングを満足する)

 
while ping -c 1 $IP; do 
    sleep $TIMEOUT 
done 
mail -s "$IP is down" [email protected] 

0

これはテストされていませんが、それはあなたにこれを解決する方法のアイデアを与える必要があります。

ping -c 1 <SOME IP> | grep "1 received" || echo "I lost connection" | mail -s "link is down!!" [email protected] 
+0

あなたは 'echo'、ない' cat'を意味します。 –

+0

@glenn:もちろん真実;-)。私は私の答えを編集しました。 – yankee

関連する問題