http://jem.serveftp.com/security/logmail.html

を使ってsnortのログをメールに飛ばすことはできるのですが、cronで設定しても動かないです。
手動でシェルを動かすとOKです。なぜでしょうか。ご教示お願いします。
あと、とばしたメールにsubjectも入れたいです。
環境はSolaris8+snort-2.1.3です。
# crontab -l
3 * * * * /usr/local/etc/alert-sh > /dev/null 2>&1
#ls -l alert-sh
-rwxr--r-- 1 root other 453 Apr 13 11:15 alert-sh
#!/bin/bash
alertdir=/var/log/snort
alertfile=alert_1
savefile=alert_mail
cd ”$alertdir”
if [ -f $alertfile ] ; then
sabun=`diff alert $alertfile|sed -e ’s/<//’|sed -e ’1d’|sed -e ’s/^ //’|grep -c ””`
if [ $sabun -ne 0 ] ; then
diff alert $alertfile|sed -e ’s/<//’|sed -e ’1d’|sed -e ’s/^ //’>$savefile
cat $savefile|mail -s snort-alert root@**.**.***
cp -f alert $alertfile
rm -fr $savefile
else
echo ”not change”
fi
else
cp -f alert $alertfile
fi

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:PaulYamamoto No.1

回答回数113ベストアンサー獲得回数2

ポイント30pt

cronはログインをしないので、環境変数の初期化のようなことがなされません。


PATH=/usr/sbin; export PATH;


など、シェルを動かすための環境変数を設定する必要があります。

id:meichi

crontab -eに書いてもエラーになりましたので、

スクリプトに追加してみました。(確認中)

2005/04/18 15:51:09
id:PaulYamamoto No.2

回答回数113ベストアンサー獲得回数2

ポイント30pt

subjectの件、答え忘れました。

mail -s 件名 宛先 です。


cat $savefile|mail -s suject snort-alert root@**.**.***


でいけるかと思われます。

id:meichi

ありがとうございます。

追記してみました。

これで様子をみてみます。

2005/04/18 15:54:06

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません