私は、トリップウィア違反があるかどうかをチェックする毎時ルートによって実行されるcronジョブを持っています。私は違反しているかどうかにかかわらず、それはまだ私に毎メールを送る。違反がある場合は、レポートが含まれます。違反がなければ、件名だけの空メールが送られます。ここでBashスクリプトは、そうでなければ電子メールを送信します
はスクリプトです:
#!/bin/bash
# Save report
tripwire --check > /tmp/twreport
# Count violations
v=`grep -c 'Total violations found: 0' /tmp/twreport`
# Send report
if [ "$v" -eq 0 ]; then
mail -s "[tripwire] Report for `uname -n`" [email protected] < /tmp/twreport
fi
空のメールを送信している場合は、/ tmp/twreportが空であると思われます。それは確かに 'v'がゼロに設定される結果になります。そのファイルに実際に書き込まれたものをデバッグすることをお勧めします。 – paxdiablo
ファイルに書き込まれます - 違反が0回、または違反回数x回です。 vは0または1です。手動で実行するとうまく動作しますが、cronでのみ動作しません。 – MarkH
端末とcronジョブの環境には大きな違いがありますので、ここで問題になる可能性があります。例えば、http://stackoverflow.com/questions/1972690/cannot-get-php-cron-script-to-run/1972763#1972763 – paxdiablo