Fixing mailman archive urls

Posted by – August 13, 2010

I recently (tonight) migrated a number of mailman discussion lists from one server to another. To make things as complicated as possible, I changed OSes and domain names.

Moving the lists themselves wasn’t terribly bad, I just followed this post on debian-adminstration.org: http://www.debian-administration.org/article/Migrating_mailman_lists

That went fine up until I got down to 4.2, where I realized “Man, I’ve got way too many lists to do this by hand.” No biggie, I just modified the command to use xargs:


<pre>
# cd /usr/lib/mailman/bin
# ls /var/lib/mailman/lists | xargs -I listname ./withlist -l -r fix_url listname -u new-domain.example.org
</pre>

This worked quite well to fix the links on all of Mailmans internal html pages… but it didn’t do a thing for the archives. Many of the archived messages had links to attachments at the old domain name. So yeah:


<pre>
# cd /var/lib/mailman/archives/private
# find -type f -name *.html | xargs -I file perl -pi -w -e 's/olddomain\.example\.org/newdomain\.example\.org/g;' file
</pre>

Depending on the size and number of lists you have, this will take somewhere between a long time and a longer time.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">