iptables.logファイルの検索に時間がかかる

iptables.logファイルの検索に時間がかかる

iptablesを使用してファイルを変更し、接続に関する情報を保存し/etc/syslog.confました/var/log/iptables.log

したがって、X時間ごとにログファイルから情報を抽出する必要があります。しかし、問題はファイルが大きくなり、検索が遅くなることです。だから私は以下を使用しました。

sed -i '/string/d' iptables.log

もはや不要なものを取り除くために。ただし、このコマンドを使用すると、iptablesはiptables.logファイルへのデータの保存を停止します。

それでは、何が間違っていますか?この問題をどのように解決できますか?

ベストアンサー1

たぶん試してみてください

cat iptables.log | sed -n "/PatternYouLookat/ p"

これにより、sed中にファイルをロックしません。

大容量ファイルの場合、sed パフォーマンスが低いため、ファイルを最初に greping するか、マーカー/インデックスを維持してこのファイルから尾部分を削除し、ファイルの尾部分のみを処理できるようにします (一時コピーがあってもスループットが多い場合) 。

sed -u を使用してストリームを操作し、大容量ファイルの一部のバッファの問題を回避できます

おすすめ記事