Linuxサーバーでは、数GBのログファイルのサイズを小さくしたいと考えています。上半分をカットするか、最初の100万行が機能する可能性があります。
これはインタビューでかなり頻繁に出てきます...
プロセスを中断することなくファイルを切り捨てたいとお考えですか?ログファイルの情報のどれかが重要ですか?もしそうなら、私は通常、単純なbash文字列でファイルを「ゼロ」にします。
: > /var/log/badlogfile
これは、制御された方法で再起動できないアプリケーションがある場合に発生します。それが金融取引アプリケーションであり、取引日にプログラムを停止または再開できないとしましょう。ただし、アプリケーションのバグが原因で、ログファイルがわいせつな速度で増加しています。上記または以下の方法を使用してログファイルをトランケートすると、システムを実行し続けることができます。
次も参照してください: http://www.cyberciti.biz/faq/truncate-large-text-file-in-unix-linux/
あなたはそれをlogrotateに置くことができます、そしてそれはそれが簡単に制御不能になることはありません
それがあなたに積極的に書かれているなら、あなたは切り捨てによってあなたができることが本当にあまりありません。唯一のオプションは、ファイルを空にすることです(最初に他の場所にコピーできます)。
echo "" >/var/log/fileYouWantToEmpty
これにより、ファイルは空になりますが、同じファイル/ iノードであるため、ログを記録しているプログラムを中断することはありません。
Cat/dev/null>/var/log /を試すこともできます。ただし、古いバージョンの一部では/ dev/nullが実装されていないことを警告する必要があります...