Apache の access_log ファイルは、数日ごとに約 1GB のアーカイブ コピーにローテーションされます。これを制御する設定はどこにありますか? 最大サイズと保持するアーカイブ ログの数の両方を制御できるようにしたいと考えています。これは apache の設定の一部ですか、それともこれに対処するために cron ジョブ ( et al ) を書く必要がありますか? 事前にフォークされた httpd を実行しています。
5 に答える
ほとんどの 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/
特定のディレクトリとアプリの設定を確認できます。
Apache の bin ディレクトリにあるツール、rotatelogs を使用します。
詳細と例については、 http://httpd.apache.org/docs/current/programs/rotatelogs.htmlを参照してください。私の HP-UX システムに存在するという利点があります。
または、前述のように、ほとんどのディストリビューションに付属している logrotate ツールを使用できます。
通常の方法はlogrotate
、cronjob から実行することです。cronjob は、スライス、ダイス、圧縮、名前の変更、最後の n の保持、および必要な他のほとんどのことを行うことができます。(最近のほとんどのディストリビューションはデフォルトでインストールすると思います。)