Linuxログファイル管理-logrotate

1462 ワード

What is logrotate?
logrotateはlinux内の各種ログファイルの管理に使用され、ログを自動的に遮断(またはループ)、圧縮、および古いログファイルを削除することができます.たとえば、logrotateを設定することで、/var/log/fooログファイルを30日ごとにループさせ、6ヶ月以上のログを削除できます.構成が完了すると、logrotateの動作は完全に自動化され、さらなる人為的な介入は必要ありません.
How to install it
一般的に、logrotateはすでにあなたのUbuntu or other Linuxにインストールされています.
#apt-getinstall logrotatecron
#yuminstall logrotate crontabs
インストールを完了します.
プロファイルパス:/etc/logrotate.conf
処理するログファイルの構成パス:/etc/logrotate.d/
Configuration
#vim/etc/logrotate.d/log-file
/var/log/log-file{

    monthly

    rotate5

    compress

    delaycompress

    missingok

    notifempty

    create644root root

    postrotate

        /usr/bin/killall-HUPrsyslogd

    endscript

}

monthly:ログファイルは月ごとに循環します.その他の使用可能な値は、「daily」、「weekly」または「yearly」です.
rotate 5:一度に5つのアーカイブログを格納します.6番目のアーカイブの場合、最も時間がかかるアーカイブは削除されます.
compress:ループタスクが完了すると、ループされたアーカイブはgzipを使用して圧縮されます.
delaycompress:常にcompressオプションとともに使用され、delaycompressオプションはlogrotateが最近のアーカイブを圧縮しないように指示し、圧縮は次のサイクルで行われます.これは、ソフトウェアが最新のアーカイブを読み込む必要がある場合に役立ちます.
missingok:ログループ中に、「ファイルが見つからない」などのエラーは無視されます.
notifempty:ログファイルが空の場合、ループは実行されません.
create 644 root root:指定した権限で新しいログファイルを作成し、logrottateも元のログファイルの名前を変更します.
postrotate/endscript:他のすべてのコマンドが完了すると、postrotateとendscriptで指定したコマンドが実行されます.この場合、rsyslogdプロセスはすぐに構成を再読み込みし、実行を続行します.
size 50 M:ファイルサイズの設定
Dateext:古いログファイルに日付名を作成させる
copytruncate:コピー後に切断