Apacheのログ・ローテーション設定(access_log、error_logのlogrotate)方法。
対象:Linux Fedora, RedHat
ファイルがない場合は、自分で作ります。 vi /etc/logrotate.d/httpd2 /usr/local/apache2/logs/access_log /usr/local/apache2/logs/error_log { missingok notifempty sharedscripts daily rotate 30 postrotate service httpd2 restart endscript } Apacheを再起動 service httpd2 restart上記の例では、httpd2ファイルにaccess_logとerror_logを並べて書いていますが、 複数のファイルを指定する場合は、このようにスペースで区切って並べて書きます。
・ローテーションの実行・回数 daily 毎日 weekly 毎週 monthly 毎月 rotate 指定した回数ローテーション(いくつログファイルを残すか) rotate [ローテーション回数] ・ログの圧縮 compress ログをgzipで圧縮 nocompress 圧縮しない ・その他 ifempty ログファイルが空の場合でもローテーション notifempty ログファイルが空の場合ローテーションしない missingok ログファイルが存在しない場合にエラーを出力しない nomissingok ログファイルが存在しない場合にエラーを出力 postrotate endscriptとの間に書いたコマンドをローテーション後に実行 prerotate endscriptとの間に書いたコマンドをローテーション前に実行 size ログファイルが指定サイズ以上の場合ローテーション size [ファイルサイズ] sharedscripts ログファイルを複数指定した場合、それぞれpostrotate、prerotate内のコマンドを実行 create ローテーション後、空のログファイルを作成 create [パーミッション] [ユーザ名] [グループ名] で権限の指定可能 nocreate 空のログファイルを作成しない olddir 指定したディレクトリにローテーションしたログを保存 olddir [ディレクトリ名] noolddir 元と同じディレクトリにローテーションしたログを保存