現在、私は 6 週間の apache access_log を保持しています。月末にアクセス サマリーを生成する場合:
cat /var/log/httpd/access_log* | goaccess --output-format=csv
概要には、前月のアクセス データが含まれます。
前月のログをスキップして、月の初日から集計するにはどうすればよいですか?
psデータ形式は次のとおりです。%d/%b/%Y
の無用な使用をcat
便利なと交換できgrep
ます。
grep -n $(date +'[0-3][0-9]/%b/%Y') /var/log/httpd/access_log* |
goaccess --output-format=csv
ログが日付順である場合、古すぎるか新しすぎることがわかっているログをスキップする方がはるかに経済的です。つまり、ワイルドカード引数を変更して、本当に必要なファイルのみに一致するようにします (またはfind -mtime -30
、少なくとも次のようなものを実行します)。セットをいくつかのファイルに絞り込みます)。
(cat
は役に立ちません。なぜなら、goaccess
が正しく書かれていれば、
goaccess --output-format=csv /var/log/httpd/access_log*
ちょうどいい。)