I use Rspamd to filter my emails from spam. The spam filter has already been trained with more than 300.000 emails. Is there a way to save this "knowledge" or transfer it to another system?
2 Answers
The Rspamd's spam/ham "knowledge" is non-volatile data that stored in Redis (it is also possible to use Sqlite backend, but it is not advisable) database: Bayesian statistics, fuzzy hashes storage and neural networks data. To make a backup of the Redis database you need to copy .rdb file. The copy of the .rdb file can also be transferred to another system or you can setup Redis replication.
But bear in mind that Rspamd also stores in Redis volatile data as well (ratelimit, greylisting, replies, etc) which you do not want to transfer. To simplify administration it is recommended to use dedicated Redis instances for non-volatile data, so you can backup, replicate and drop them separately, apply different memory limits and eviction policies.
- 24
- 3
-
Is this accurate? I lost all my Bayes training data even after restoring my Redis data, leading me to believe it's actually stored in `DBDIR`. See https://github.com/rspamd/rspamd/issues/3319 – Mike Conigliaro Apr 03 '20 at 23:27
Move database dir.
DBDIR = OS specific (/var/lib/rspamd on Linux) - used to store static runtime data (e.g. databases or cached files)
- 254
- 1
- 1
-
Nothing in your answer explains how to actually do this, but I created an issue to find out: https://github.com/rspamd/rspamd/issues/3319 – Mike Conigliaro Apr 03 '20 at 23:25