ログローテーションは、Linux システムでは非常に一般的な機能です。ログローテーションは、システムの監視とトラブルシューティングに必要なログコンテンツを保持しながら、ログが多すぎて 1 つのログファイルが大きくなりすぎるのを防ぎます。 ログ ローリング プロセスは、ログ ファイルのグループのうち、番号が最も大きい (最も古い) ログ ファイルが削除され、残りのログ ファイルに連続した番号が付けられて古いログ ファイルが置き換えられ、新しいファイルが現在のログ ファイルとして置き換えられます。このプロセスは簡単に自動化でき、必要に応じて詳細を微調整できます。 ログローテーション操作を手動で実行するには、 この記事の例は、Ubuntu などの Linux システムに適用されます。他の種類のシステムでは、ログ ファイルと構成ファイルが異なる場合がありますが、ログ ローリング プロセスは同様です。 なぜ丸太を転がす必要があるのでしょうか? 通常、ログ ファイルを手動でローテーションする必要はありません。 Linux システムは、1 日おき (またはそれ以上) に、またはログ ファイルのサイズに応じて、ログを自動的にローテーションします。ストレージ領域を解放するため、またはログの一部を現在のアクティビティから分離するためにログをローテーションする必要がある場合は、ファイル ローテーション ルールに応じて簡単に実行できます。 ちょっとした背景 Linux システムがインストールされると、ログローテーションの範囲に多くのログファイルが含まれるようになります。さらに、一部のアプリケーションでは、インストール時に生成されるログ ファイルのローテーション ルールも設定されます。一般的に、ログローテーション設定ファイルは ログのローリング中、アクティブ ログの名前は log.1 などの新しい名前に変更され、以前に log.1 という名前だったファイルは log.2 に名前が変更されます。このファイル セットでは、最も古いログ ファイル (たとえば、log.7) がシステムから削除されます。ログのローテーション時に保持されるログ ファイルの命名方法と数は、 たとえば、ログのローテーション後、syslog は次のようになります (行末のコメントは、ローテーション プロセスがファイル名にどのように影響するかを示すためだけのものであることに注意してください)。 $ ls -l /var/log/syslog* -rw-r----- 1 syslog adm 128674 Mar 10 08:00 /var/log/syslog <== 新しいファイル -rw-r----- 1 syslog adm 2405968 Mar 9 16:09 /var/log/syslog.1 <== 以前の syslog -rw-r----- 1 syslog adm 206451 3月9日 00:00 /var/log/syslog.2.gz <== 前の syslog.1 -rw-r----- 1 syslog adm 216852 3月8日 00:00 /var/log/syslog.3.gz <== 以前の syslog.2.gz -rw-r----- 1 syslog adm 212889 3月 7日 00:00 /var/log/syslog.4.gz <== 以前の syslog.3.gz -rw-r----- 1 syslog adm 219106 3月 6日 00:00 /var/log/syslog.5.gz <== 以前の syslog.4.gz -rw-r----- 1 syslog adm 218596 3月5日 00:00 /var/log/syslog.6.gz <== 以前の syslog.5.gz -rw-r----- 1 syslog adm 211074 3月4日 00:00 /var/log/syslog.7.gz <== 以前の syslog.6.gz 現在アクティブなログと最後にロールされたログ ファイルを除き、他のすべてのファイルはストレージ スペースを節約するために圧縮されていることがわかります。この設計の理由は、ほとんどのシステム管理者は最新のログ ファイルのみをチェックすればよいからです。残りのログ ファイルは圧縮されており、必要に応じて解凍してチェックできます。これは良い妥協案です。 手動ログローテーション logrotate コマンドを実行して、ログを手動でローテーションすることができます。
ファイルの所有権と権限が正しいことを確認するには、次のコマンドを実行します。 $ sudo touch /var/log/syslog $ sudo chown syslog:adm /var/log/syslog $ sudo chmod 640 /var/log/syslog
構成ファイル全体の内容は次のとおりです。 ログファイル { 7回転 毎日 行方不明 空でない 0640 syslog adm を作成 <== 遅延圧縮 圧縮する 後回転 rsyslog は、次のディレクトリに格納されます。 終了スクリプト } 以下は、ユーザーのログイン情報を記録する wtmp ログを手動でスクロールする例です。 /etc/logrotate.d/wtmp の rotate 2 の設定により、システムには wtmp ログ ファイルのコピーが 2 つだけ保持されます。 巻く前に: $ ls -l wtmp* -rw-r----- 1 ルート utmp 1152 3月12日 11:49 wtmp -rw-r----- 1 ルート utmp 768 3月11日 17:04 wtmp.1 スクロールコマンドを実行します。
スクロール後: $ ls -l /var/log/wtmp* -rw-r----- 1 ルート utmp 0 3月12日 11:52 /var/log/wtmp -rw-r----- 1 ルート utmp 1152 3月12日 11:49 /var/log/wtmp.1 -rw-r----- 1 ルート adm 99726 2月 21 07:46 /var/log/wtmp.report ログ ローリングが自動か手動かに関係なく、最新のローリング時間が $ grep wtmp /var/lib/logrotate/status 「/var/log/wtmp」 2020-3-12-11:52:57 要約する Linux システムでの手動ローリング ログに関するこの記事はこれで終わりです。Linux ローリング ログに関する関連コンテンツをさらにご覧になりたい場合は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: jQuery+h5 で 9 マス抽選特殊効果を実現 (フロントエンドとバックエンドのコード)
>>: Navicat が MySQL にリモート接続するときに発生する 10060 不明エラーを解決する方法
1. MySQL Yumリポジトリを追加するMySQL公式サイト>ダウンロード>MySQ...
目次1. 準備: 2. ソースコードのコンパイル1. 設定する2. コンパイルエラー3. ターゲット...
MySQL にリモートでログインする場合、使用するアカウントには特別な要件があります。アカウントのデ...
目次WXS レスポンス イベントプランAページ構造とスタイルWXS イベントコールバック関数WXS ...
序文MySQL バージョン 3.23.44 以降では、InnoDB エンジン タイプのテーブルは外部...
この記事では、Docker のマルチステージ ビルド機能を使用してイメージ サイズを大幅に削減する方...
目次1. ビューフック1. ngAfterViewInit および ngAfterViewCheck...
1. 概要Group by は、by の後の規則に従ってデータをグループ化することを意味します。いわ...
この記事の例では、ボタンをクリックすることで画像を切り替えることを実現するJavaScriptの具体...
これはネイティブ JS で実装されたテキスト スクロール効果です。この効果は通常、ニュース、ダイナミ...
この記事では、適応解像度を実現するためのVue2.0の具体的なコードを参考までに紹介します。具体的な...
Busybox: 小さなコマンドが詰まったスイスアーミーナイフ。ステップ1: ディレクトリ構造を作成...
1. win + R を押して cmd と入力し、DOS ウィンドウに入ります。 2. MySQL...
配列メソッドJavaScript には多くの配列メソッドが用意されています。次の図は、ほとんどの配列...
この記事では、参考までにVueのファイルのアップロードとダウンロードの具体的なコードを紹介します。具...