見出し画像

【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

以上です。ログローテーションは慣れるととても便利なものです。サーバのリソース不足解消にもつながるので、是非とも覚えておきたいですね。

よろしければサポートお願いします。いただきましたサポートは活動費にさせていただきまさに