web-dev-qa-db-ja.com

ApacheWebサーバーから未使用のファイル/ディレクトリを識別して削除する方法

新規顧客。古いサーバー。未使用のファイルとディレクトリがたくさんあります。 5つの特定のコアディレクトリ(異なるドメインに接続されています)。コアディレクトリと同じレベルのファイルを含む10〜20の無関係なディレクトリ。

各コアディレクトリで実行するものを作成し、次の手順を実行します。

数か月分の生ログファイルをURIだけに減らし、ディレクトリリストを収集し、ディレクトリリストをループして、要約されたログファイルに対応する外観がないものをすべてリストするスクリプト。

そのようなものはすでに存在しますか?最終目標を達成するためのより良い方法は?構築するための推奨言語/ツール?

正直なところ、それが正しく行われた場合、私はこれをどこから始めるべきかを探しています。

4
Daniel Fris

Honestly, I'm looking for where to begin on this if it were done right.

必要なものだけで構築された、優れたバックアップと新しいサーバーを備えています。

アクセスに基づいて削除することの危険性は、ロングテールのもの(タヒチのベンダーが年に2回アクセスする1つの超臨界ファイル)を失うことです。これがないと、光沢のあるウィジェットを出荷できません。会社全体が腹を立てる)。これがバックアップの出番です(光沢のあるウィジェットファイルを取り戻すことができます)。

がらくたでいっぱいの古いサーバーを「クリーンアップ」しようとする危険性は、何ががらくたで何が重要かを知らないことです。
[。最高のツールでさえ、どちらか一方にファズがあります。必要かどうかわからないためにがらくたを残すか、必要なものを削除してそれらのバックアップに取り掛かる必要があります。


説明したスクリプトを引き続き作成する場合は、(比較的)単純なシェルスクリプトを使用して作成できます。

  • catログファイルを一緒に
  • awkを使用してURLを取得します
  • sortおよびuniq重複を排除するためのURLリスト
    • URLをディスク上のファイル名に変換するには、さらにawkおよびsed操作を行う必要がある場合があります。
  • アクセスがわかっているファイルのリストを取得し、手動で確認して、スクリプトで見逃した可能性のあるものを追加します
  • tar既知のアクセス済みファイルを作成し、安全な場所に貼り付けました。
  • 古いディレクトリを脇に移動し(バックアップとして安全に保管します)、アクセス済みの既知のファイルを解凍します。

(実装は読者の演習として残されています。これは主に、アクセスログの形式が私のものとは異なる可能性があり、URLをファイルシステム上のファイルに変換するために使用する必要のあるawk式に影響を与えるためです)

2
voretaq7