localhost接続が拒否されたときに電子メールを送信するようにbashスクリプトを作成していますが、接続が開かれたときに電子メールを書き込まないでください。たとえば、
netcat -z localhost 8287
if [ $? -ne 0 ]; then
echo " Connection refused" |/usr/lib/sendmail -s "Port doesn't function " [email protected]
else
echo "open"
fi
このbashスクリプトを起動すると動作しません。 sendmailをメールに置き換え、sendEmailも交換しましたが、毎回異なるエラーが発生します。
ベストアンサー1
私のシステムでは、以下が機能します。
if ! nc -z $host $port; then
echo "This message intentionally left blank" | mail -s "TCP port $port is not open on $host" $emailaddress
else
: Do whatever you wanted to do
fi
システムに存在しない場合は、tail -f /var/log/maillog
スクリプトを実行してメッセージが配信されない理由を確認してください。