web-dev-qa-db-ja.com

fail2banのデータベースが大きすぎる(500MB以上)。適切なサイズにするにはどうすればよいですか?

最近、バックアップが失敗し始め、_/var/lib/fail2ban/fail2ban.sqlite3ファイルに問題を追跡しました。それは500MB以上です。それが時間とともに成長してきたのか、これが最近の進展なのかはわかりません。

適切なサイズにして、そのサイズを維持するにはどうすればよいですか? (この目的のために、500MB未満としましょう。)

4
felwithe

fail2ban.confにはdbpurgeageパラメータがあり、データベースに保持するデータの日数を示します。デフォルトは1日(1d)なので、数時間に減らしてみてください。

dbpurgeage = 8h

この設定はfindtimeと連動しています。findtimedbpurgeageよりも長くても意味がありません。

編集:自分のデータベースfail2banを見ると、dbpurgeage設定が機能していないようです。したがって、唯一の解決策は、エントリを手動で削除することです。たとえば、昨年のエントリを削除するには、次のコマンドを実行します。

sqlite3 /var/lib/fail2ban/fail2ban.sqlite3 \
  "DELETE FROM bans WHERE DATE(timeofban, 'unixepoch') < '2020-01-01'; VACUUM;"

sqlite実行可能ファイルは通常、同名のパッケージにあります)。

[〜#〜] ps [〜#〜]:データベースのVACUUMを実行する方法がないようですsqliteのコピーを実行する同じディレクトリ内のデータベース。ただし、操作を実行する前にファイルを別のファイルシステムにコピーしてから、より小さなデータベースをコピーすることができます。

5