1

現在、私は 6 週間の apache access_log を保持しています。月末にアクセス サマリーを生成する場合:

cat /var/log/httpd/access_log* | goaccess --output-format=csv

概要には、前月のアクセス データが含まれます。

前月のログをスキップして、月の初日から集計するにはどうすればよいですか?

psデータ形式は次のとおりです。%d/%b/%Y

4

1 に答える 1

1

の無用な使用を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*

ちょうどいい。)

于 2014-10-29T08:13:59.873 に答える