On 8/21/23 00:31, Stephen J. Turnbull wrote:
Is there a way to export a list from one Mailman 3 instance and import it into another, on a different machine? Ideally some way to capture its settings, members, members' settings, etc?
All that is in an SQL database. Mailman still manages queues and digests "on disk", so I would
- shut down Mailman completely (but not the RDBMS)
- copy the queues (in $var_dir/queue) and digests (in $var_dir/lists/ *) over to the new installation
- dump the SQL database on the old host in SQL script format
- restore the SQL database on the new host
- restart Mailman
This shouldn't take more than 15-20 minutes, faster if you're handy with all the relevant utilities. The main forseeable issue is Mailman traffic queuing up on the old installation. Depending on your mail routing this may not be a problem:
- same MTA, just point it at the new host and everything will go through when Mailman starts)
- different MTA, before shutting down Mailman reroute Mailman traffic to new MTA where it will queue until Mailan starts
Of course if something is wonky somewhere, you could get an error in dumping or restoring the database. Also if you're changing databases eg from MySQL to Postgres you may need to edit the dump by hand. Don't forget to set your MySQL family databases to handle Unicode correctly (at least older versions would throw exceptions on 4-byte UTF-8 such as emoji).
I'm moving from sqlite3 to postgres; I can handle that migration. But I'm also moving from Mailman 3.1.1 to 3.3.8; do you (or anyone else) know of any schema changes? I spot-checked the first few and they looked the same, but before going through all of them I figured I'd just ask here.
Thanks,
-Dave
-- Dave McGuire, AK4HZ New Kensington, PA