私は約200のウェブサイトをホストしていますが、その中には巨大なerror_logファイルがあることがわかりました。
どのアイテムが最も多くのスペースを占めているかを確認して確認し、エラーを修正してサイズが大きくなりすぎないようにしたいと思います。
場所とサイズ別にリストされている最大の「error_log」ファイルを見つける方法は?
答え1
このようなことを試してみましたか?
ls -lsR /var/log | sort -n | tail
これが機能するかどうかは、ログディレクトリの構造とファイル名によって異なります。このコマンドは、ディレクトリパスではなく最大10個のファイル名のみを通知します。
別のオプションは、サイズが1 GBを超えるすべてのファイルを見つけてフルパスを印刷することです。
find /var/log -size +1G -exec ls -lh {} +
最大のログファイルより少し小さくサイズ変更するだけです。
これらのファイルがどこにあるかわからない場合error_log
(別の質問で判断した場合)、そのファイルを使用またはlocate error_log
検索find / -name error_log
できます。-name error_log
上記のコマンドにパラメータを追加することもできますfind
。
答え2
このコマンドを使用すると、ディレクトリ内のすべてのファイルのリストとより深いファイルのリストを表示できますdu
。
その使用法の例は次のとおりです。
# du -h
46K ./R/win-library/3.0/colorspace/data
236K ./R/win-library/3.0/colorspace/doc
63K ./R/win-library/3.0/colorspace/help
12K ./R/win-library/3.0/colorspace/html
61K ./R/win-library/3.0/colorspace/libs/i386
57K ./R/win-library/3.0/colorspace/libs/x64
118K ./R/win-library/3.0/colorspace/libs
16K ./R/win-library/3.0/colorspace/Meta
# ....
答え3
ここパーティーに遅れたが、みんな「私はウェブサイトを200個ほどホスティングしている…」という言葉を逃しています。
あなたの質問は、あなたがPHPエラーログを参照していると仮定するerror_logファイルを探していることを示します。最良の方法はfindを使用することであり、システムとWebルートの場所に応じて次のようになります。
find . -type f -name "error_log" -ls | sort -nr -k7
非常に大きなエラーログが見つかった場合は、比較的簡単に修正してファイルサイズを大幅に減らすことができるPHP警告でいっぱいになるので、これを確認することをお勧めします。 (ソース:仮想ホストシステム管理者)
答え4
これらのerror_log
ファイルが次のいずれかの場所にあり、シェルを使用していると仮定する/var/log
と、zsh
次のコマンドはこれらのファイルの最大10のパス名をリストします。
printf '%s\n' /var/log/**/error_log(.OL[1,10])
glob修飾子は(.OL[1,10])
通常のファイルだけがパターン.
()と一致し、結果がサイズ()の降順でソートされるようにしますOL
。最後に、[1,10]
globの上位10件の結果をリクエストします。