access_logデータ抽出もろもろ
・ロードバランサの問題でログの中身の時間がバラバラ→「ちゃんと時系列に&時間帯を指定」
・かつ同一IPでUniqに絞りたい
・かつページURLにxxxを含む
・かつページURLにyyyを含まない
という条件を満たしたく
※ログフォーマットのディレクティブはデフォルトのまま
cat /var/log/httpd/access_log | grep "30/Nov/2010:11" | uniq -c | awk '{print $1,$2,$5,$8}' | grep xxx | grep -v yyy | cut -d" " -f2- | awk '{print $2,$3,$1}'| cut -b2- | sort > access_check11.log 〜ループ〜 cat /var/log/httpd/access_log | grep "30/Nov/2010:15" | uniq -c | awk '{print $1,$2,$5,$8}' | grep xxx | grep -v yyy | cut -d" " -f2- | awk '{print $2,$3,$1}'| cut -b2- | sort > access_check15.log #(例)2010/11/30の11:00から15:00までの分 #時間帯で区切ったものを結合 cat access_check11.log access_check12.log access_check13.log access_check14.log access_check15.log > access_check.log
ひとまずこんな感じ
どのくらい複雑になってきたらPerl使ったほうがよいか、とか判断がむずい