1

昨日、Apache 2 Web サーバーに webalizer をインストールしましたが、古いアクセス ログがすべて使用されていないという問題に遭遇しました。ディレクトリリストは次のようになります。

/var/log/apache2/

access.log
access.log1
access.log.10.gz
access.log.11.gz
...

一度にすべてのファイルをインポートするにはどうすればよいですか?

私はいくつかのことを試しましたが、レコードが無視されたことがわかりました。

誰かが助けてくれることを願っています。ありがとう!

4

2 に答える 2

3

私は同じ問題に遭遇しました。webalizer をインストールして、インクリメンタル モードに変更したところです (これは、私の からの関連エントリです/etc/webalizer/webalizer.conf)。

LogFile /var/log/apache2/access.log.1
OutputDir /var/www/htdocs/w
Incremental     yes
IncrementalName webalizer.current

次に、手動で webalizer を実行しました。これにより、logs ディレクトリ内の非 gz ファイルが初期化されました。その後、古い gz ログファイルを (webalizer /var/log/apache2/access.log.2.gzたとえば、実行することによって) 手動でインポートしようとすると、すべてのエントリが無視されました。

これは、gz ログで見つかったエントリが前回のインポートよりも古いためだと思われます。webalizer.currentファイルを削除する必要がありました (実際には、ディレクトリ全体をクリアしました。どちらの方法でも機能するはずです)。最後に、逆の順序 (古いものから順に) で、古い gz ファイルを 1 つずつインポートできます。

bhs128@home:~$ cd /var/log/apache2
bhs128@home:/var/log/apache2$ sudo rm -rf /var/www/htdocs/w/*
bhs128@home:/var/log/apache2$ ls -1t /var/log/apache2/access.log*gz | grep -o [0-9]* | tail -n1
52
bhs128@home:/var/log/apache2$ for i in {52..2}; do webalizer /var/log/apache2/access.log.$i.gz; done
于 2014-06-05T04:41:19.263 に答える