私は初めてLinuxを使用していますが、VPSを使用してWebサイトをホストしようとしています。私はそれについて読み、誰かがすべてのログが回転して圧縮されていることを確認する必要があると述べましたが、その方法を理解していません。 Pleskを使用する予定ですが、一部のログのみが上書きされます。それでは、すべてのログが循環するようにするにはどうすればよいですか? grep / catを使用するよりも見やすくする方法はありますか?
答え1
Eight Bit Tonyが指摘した内容を具体化するには、次のようにしますlogrotate
。
logrotate
コマンドラインから実行できるスタンドアロンプログラムです。主な文書man logrotate
は、フォーマットに関するセクションを含むマニュアルページ()です。構成ファイル。デフォルトのプロファイルはありません。必ず指定してください。通常、logrotateはを介して実行されるため、cron
cron設定(明示的なlogrotate設定ファイルはもちろん)でそれへの参照を見つけることができます。 Fedora派生製品(CentOSなど)では/etc/logrotate.conf
。include
マニュアルページの「構成ファイル」セクション(「logrotate構成ファイルに含めることができるディレクティブに関する追加情報は次のとおりです。」の下)にあります。
含める[ファイルまたはディレクトリ]
include ディレクティブが現れるところにインラインで含まれているかのように引数で与えられたファイルを読み込みます。ディレクトリが提供されると、そのディレクトリ内のほとんどのファイルは、埋め込みファイルの処理を続行する前にアルファベット順に読み取られます。無視される唯一のファイルは、非正規ファイル(ディレクトリや名前付きパイプなど)であるファイルと、tabooextディレクティブで指定されたタブー拡張子の1つで終わるファイルです。
ディレクティブは互いに置き換えることができ(矛盾とオーバーライド)、セクションの先頭でインラインで処理されるので興味深いです。 「各プロファイルはグローバルオプションを設定できます(ローカル定義はグローバルオプションをオーバーライドし、その後の定義は以前の定義をオーバーライドします)。」したがって、ファイルをインクルードしてからその中のディレクティブと矛盾する場合は、最後のディレクティブが優先されます。マンページを読むのに慣れてください!彼らはあなたの友達です!
あなたのものを見ると、/etc/logrotate.conf
次のような行が見つかります。
include /etc/logrotate.d
そして/etc/logrotate.d
ディレクトリになります。これにより、個々のアプリケーションが個々のログを適切に回転できるように、ここにファイルを追加できます。明らかにあなたは自分自身を追加し、必要なものを修正することができます。
最初にマニュアルページが少し複雑であると思われる場合は、logrotateチュートリアルを参照できます。これは素晴らしいツールです。最も簡単な方法は実験的なconfファイルを設定することです。デフォルトディレクトリの外部コマンドラインで指定してこれを実行できます。実験の際に混乱を招かないように、具体的な内容を参考にして作業の仕方を理解できるようにする必要があります。
cronを介してlogrotateを実行する必要はありません。サーバーの管理方法に応じて手動で実行することも、他の方法で実行することもできます。
答え2
一般的なログファイル形式では、多くのLinuxディストリビューションにはデフォルトでログローテーションが含まれています。 CentOSが含まれているかどうかはわかりませんが、設定は通常(/etc/logrotate*
例:/etc/logrotate.conf
および/または/etc/logrotate.d/
したがって、基本的なログファイルについて話している場合は、おそらくすでに扱っていたでしょう。 Logrotateは通常、ログが生成された元のディレクトリに回転した(オプションで圧縮された)ログを保持します(もちろん、各ログは異なります)、ほとんどのオペレーティングシステムログは/ var / log(多くの展開バージョンで)にあります。 。
パッケージマネージャとヒューマンパッケージングソフトウェアを含むLinuxディストリビューションは、通常、ログを含むエントリをインストールするときに、関連するLogrotateの場所に新しいエントリが配置されることを保証します。これは、ソースコードをダウンロードしてコンパイルするだけでは入手できないLinuxディストリビューションを使用して「取得できる」機能の1つです。これは保証されておらず、一部のパッケージソフトウェアには含まれていませんが、そうでない場合よりも一般的です。
ログを報告するには(すべてのログを読みたくない)、logwatch
CentOSに含まれているものと同じ解決策を見てください。サーバー上のすべての一般ログファイルの日次レポートと要約を電子メールで送信するように構成できます。
サーバーが 1~2 個あれば大丈夫ですが、6 個以上のサーバーがあり、他のものが必要な場合には処理するには多すぎます。