私はApacheログファイルをトリムすることを検討しています - 現時点では約3mの行があります(イメージとビデオファイルがロードされているので、 .jpg)しかし、SQL Serverにストレートダンプを行い、これらを削除するだけでなく、重複を削除するためにさまざまなクエリを実行すると、これを100k行に取得し、そこからSQL Serverにエクスポートし、さまざまな他のソースにリンクします。私が取得しようとしてで探しています何Apacheログファイル - データをトリミングしてフィルタリングする
は下記言うです:
1.2.3.4 15/04/2016:10:20:30 [test_url]/testpage 200
1.2.3.4 15/04/2016:10:25:30 [test_url]/testproductログファイルから次の200
:
%時間%さt \ "%のr \" %> S
1.2。 3.4 [15/4/2016:10:20:30 +0000] GET [test_url]/t estpage HTTP/1.1 200
1.2.3.4 [15/4月/ 2016:10:20:30 +0000] [test_url]/testpage HTTP GET/1.1 200
1.2.3.4 [15/4月/ 2016年:10:20:30 +0000] GET [test_url] /testimage.jpg HTTP/1.1 200
1.2.3.4 [15/4/2016:10:25:30 +0000] [test_url]/testproduct HTTP /1.1 200
また、私は重複を削除したいので(上記の2番目の行は重複しているので削除され、3番目は.jpgなので削除されます)これと一緒に働くだろう(もしそれが本当に実現可能ならば)。
すべてのデータがSQLサーバーにダンプされても、サーバースペースを維持するためにソースでデータセットをトリミングする必要がある場合は、これを行うのが簡単です。ありがとう。
ありがとう、もう一つのことは、このプロセスでuri文字列の一部を削除することです[testurl] /testpage/testpage.html?promocode=testから[testurl]/testpage – user3715419
URIやその他の標準的な変数を記録するために '%U 'を使用している場合はありません。しかし、環境変数を定義して、独自のログ形式を作成する代わりにログを記録することができます;)その場合、URIに基づいて 'SetEnvIf'を行いますが、その変数を特定の値に設定します。あなたのURI /クエリ文字列の削除されたバージョン。私はこれを読むことをお勧めします:https://httpd.apache.org/docs/2.4/env.htmlと上記のリンクを 'SetEnvIf'で達成する方法のアイデアを得る。 –