2017-01-15 4 views
-1

私は自分のサーバー上でCron Job経由でBashスクリプトを実行しています。私はそれを起動して終了する必要があります。再起動する代わりにBashスクリプトと終了を呼び出す

スクリプト:

#!/bin/bash 

while [ true ] 
     do 
     DATE=`date "+%d.%m.%Y. %H:%M"` 
     MSG='STUFF HERE' 
     test=`/usr/sbin/asterisk -rx "sip show peers" | grep UNKNOWN ` 
     if [ -z "$test" ]; then 
     sleep 100 
     else 
     top=`top -bn1 | tail` 
echo -e "$test" | mail -r "[email protected]" -s "SIP Peer UNKNOWN/UNSPECIFIED `hostname` $DATE" [email protected] 
     sleep 900 
     fi 
done 

私はそれは私がほしいと思うとき、私はcronのスルースクリプトを呼び出します独自の にリセットされないようにする必要があります。

ありがとう

答えて

0

cronで呼び出すときは、cronがループを処理する必要があります。
whilesleepを削除します。警告が郵送されたときには、もっと長く眠りたいと思っています。これは、検出コードの外で管理する必要があります。後でもっと多くのことを監視し、勤務時間中にのみ異なる人にメールを送り、おそらくメール以外のものを使うこともあります。

関連する問題