前回説明したログ自動分析の運用面で注意すべき点を補足しておきます。
自動実行するタイミングによっては、日付をまたぐ場合があります。
ログローテートの関係で前日の分を参照する必要が出てきます。例えば0時台(24時台)に実行して、1時間前ならば前日の23時台なので、ローテート後だとApacheの場合access.log.1を読みにいかないといけません。
したがって、if文等でファイル名を切り換える処理を入れておきます。
上記の例であれば、現在時刻の時間部分を取り出し、
if [ `date "+%H"`="00" ]; then
参照ファイルをaccess.log.1に指定する処理
else
参照ファイルをaccess.logに指定する処理
fi
if文の中にすべての処理を記述してもよいですが、ファイル名だけを変数に入れて
処理はif文の外に記述したほうがスッキリするでしょう。
ざっと確認したところ当方の環境では、0時10分位までならaccess.logで問題ありませんでした。
余裕をみてcronに0時15分で登録した場合は、上記の条件式が成立していました。
※コメント投稿者のブログIDはブログ作成者のみに通知されます