26

Apache の access_log ファイルは、数日ごとに約 1GB のアーカイブ コピーにローテーションされます。これを制御する設定はどこにありますか? 最大サイズと保持するアーカイブ ログの数の両方を制御できるようにしたいと考えています。これは apache の設定の一部ですか、それともこれに対処するために cron ジョブ ( et al ) を書く必要がありますか? 事前にフォークされた httpd を実行しています。

4

5 に答える 5

25

ほとんどの Linux ディストリビューションでは、 logrotateを毎日実行するようにシステムが設定されています。root や特定のユーザーの crontab には表示されません。

ログ ファイルの処理方法は簡単に変更できます。私のUbuntuサーバーでは、/etc/logrotate.confファイルには次のような設定があります:

# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

[等。]

また、ディレクトリを調べて、/etc/logrotate.d/特定のディレクトリとアプリの設定を確認できます。

于 2012-07-11T18:43:27.490 に答える
3

Apache の bin ディレクトリにあるツール、rotatelogs を使用します。

詳細と例については、 http://httpd.apache.org/docs/current/programs/rotatelogs.htmlを参照してください。私の HP-UX システムに存在するという利点があります。

または、前述のように、ほとんどのディストリビューションに付属している logrotate ツールを使用できます。

于 2013-07-16T12:46:42.557 に答える
0

通常の方法はlogrotate、cronjob から実行することです。cronjob は、スライス、ダイス、圧縮、名前の変更、最後の n の保持、および必要な他のほとんどのことを行うことができます。(最近のほとんどのディストリビューションはデフォルトでインストールすると思います。)

于 2012-07-11T17:48:12.920 に答える