【Linux】ログローテーションの設定
こんにちは。うちゃちゃです。
今回はLinuxを実行しているとログファイルがたまってくるので、そのログファイルを退避するために必要なログローテーションについて記載しようと思います。
インストールされているか確認
rpm -qa|grep logrotate
インストールされていない場合はインストール実施
yum install logrotate
ローテーションの設定を行う
管理ファイル(初期設定を編集できる)
/etc/logrotate.con
ローテーションの設定ファイル
/etc/logrotate.d/ 配下apache なら /etc/logrotate.d/httpd
ログローテーションの確認を行う
logrotate -dv /etc/logrotate.d/httpd
log does not need rotating はログローテーション必要なしと判断されている最後にローテーションしてから 1 日以上経過していないと表示される。後にローテーションしてから 1 日以上経過していないと表示される。
設定に誤りがあった場合は error が表示される。
ログローテーションの設定
# cat /etc/logrotate.d/httpd
/var/log/httpd/*log {
daily # 毎日ログローテする
olddir /home/user/logrotate/http # 指定したディレクトリ内にローテーションされたログを格納する
missingok # ログファイルが存在しなくてもエラーをださない
rotate 50 # 指定した回数ローテーションする
compress # ローテーションされたログを gzip で圧縮する
ifempty # ログファイルが空でもローテーションする
sharedscripts # 複数指定したログファイルに対してpostrotateまたはprerotateで記述されたコマンドを1回だけ実行 する
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
以上です。ログローテーションは慣れるととても便利なものです。サーバのリソース不足解消にもつながるので、是非とも覚えておきたいですね。
よろしければサポートお願いします。いただきましたサポートは活動費にさせていただきまさに