要件:logrotateを使って毎日nginxログを切断し、60日以上前のログを自動的に削除し、履歴ログを圧縮・アーカイブすること。 単一のnginxログファイルが大きすぎてディスク容量が不足したり、読み込み効率が落ちたりするのを防ぎましょう。
復習:
対数回転
Linux環境において、logrotateはログファイルの管理と回転を自動化し、ディスク容量不足や単一のログファイルサイズによる読み取り効率低下を防ぐ非常に便利なログカットツールです。 Linuxにはすでにlogrotateツールが付属しています。 もしそうでなければ、以下のコマンドでインストールできます:
パラメータは以下の通りです:
Usage: logrotate [OPTION...] <configfile> -d, --debug 何もせず、ただテストしてデバッグメッセージを印刷してください -f, --force フォースファイルの回転 -m, --mail=command メール送信コマンド('/bin/mail'の代わりに) -s, --state=statefile 状態ファイルのパス -v, --verbose 回転中にメッセージを表示する -l, --log=logfile ログファイルまたは「syslog」でsyslogにログする --バージョン表示バージョン情報
ヘルプオプション: -?, --ヘルプ このヘルプメッセージを表示する --使用状況 簡潔な使用メッセージを表示
対数回転構成
/etc/logrotate.d/ディレクトリの下にNginx用のlogrotate設定ファイルを手動で作成してください(/etc/logrotate.d/nginx)は次のように構成されます:
構成が正しいかどうかをテストするコマンドは以下の通りです:
次のコマンドで一度だけ強制します:
以下に示すように:
タスクの最後の成功した実行を見るには、以下のコマンドが使えます:
以下に示すように:
対数回転実行時間
logrotateはCrondサービスに基づいており、Crondサービスのスクリプトは/etc/cron.daily/logrotatelogrotがログ分割を行う際に注意が必要です/etc/anacrontabおよび /var/lib/logrotate/logrotate.status です。 これはアナクロンの設定ファイルであり、不規則に起動するシステム(例:ノートパソコンや時折シャットダウンするサーバー)で、定期的なタスク(ログの回転など)を見逃すようにします。補足処刑。
参考:
ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。 |