[Mailman-Developers] Re: [Mailman-Users] Backing up Mailman list installations
Jon Carnes
Jon Carnes" <jonc@haht.com
Thu, 29 Nov 2001 02:09:17 -0500
Cool scripts. I used to do something similar, and then I moved over to
using "ncftp" to drop the tarball off on my backup-server. A matter of
preference, but I like that better than mailing myself the tarball.
Jon Carnes
----- Original Message -----
From: "J C Lawrence" <claw@kanga.nu>
To: <Mailman-Users@python.org>
Cc: <mailman-developers@python.org>
Sent: Thursday, November 29, 2001 12:34 AM
Subject: [Mailman-Users] Backing up Mailman list installations
>
> <<Reply-To: set>>
>
> A moderately frequent request on these lists has been, "How can I
> back up my Mailman lists/membership/etc?" I happened to be in the
> area today touching up the scripts I use. Please feel free to adapt
> freely.
>
> Note: You'll need to have a reasonably recent version of nmh
> installed as the scripts rely on the MH tools to build a MIME
> message:
>
> http://www.mhost.com/nmh/
>
> The scripts:
>
> ~/bin/mimemail:
> --<cut>--
> #!/bin/bash
> #set -x
>
> subject=$1
> file=$2
> addr=$3
>
> echo "To: ${addr}
> From: nobody
> Subject: ${subject}
>
> #application/octet-stream [${subject}] ${file}
>
> " | /usr/bin/mh/mhbuild - > /tmp/mimemail.tmp.${$}
> /usr/lib/mh/post -verbose -watch /tmp/mimemail.tmp.${$}
> rm /tmp/mimemail.tmp.${$}
> --<cut>--
>
> ~/bin/mailman.backup
> --<cut>--
> #!/bin/bash
> #set -x
>
> datestr=`date +%Y%m%d`
> host=`hostname -f`
> file=mailman.lists.${datestr}.tar.gz
> filepath=~/backups/${file}
> sendto="root"
>
> cd /var/lib/mailman
> tar zcf ${filepath} lists
> cd ~/backups
> mimemail ${file} ${filepath} ${sendto}
> #rm ${file}
> --<cut>-
>
> Yeah, there are some hard coded paths in there. Sue me. I never
> said they were pretty, merely that they worked. Brief explanation:
>
> mimemail takes three arguments: the Subject: of the message its
> going to send, the file it is going to send, and the address it is
> going to send it to. mimemail depends on the nmh tools to build
> the MIME message.
>
> mailman.backup takes no arguments. It creates a compressed
> tarball of ~mailman/lists in the file
> ~/backups/mailman.lists.YYMMDD.tar.gz
>
> eg: mailman.lists.20011128.tar.gz
>
> And then uses mimemail to send that file to root@localhost
> (edit/change if you want) before deleting it.
>
> To use drop them in a cronjob something like:
>
> 0 6 * * 0 /home/archiver/bin/mailman.backup
>
> A sample execution should look something like:
>
> $ ./mailman.backup
> -- Posting for All Recipients --
> -- Local Recipients --
> root: address ok
> -- Recipient Copies Posted --
> Message Processed
>
> The result will be that every time the cronjob runs it will send you
> (in this case root@host.dom) a message looking something like:
>
> Subject: mailman.lists.20011128.tar.gz
> From: nobody@kanga.nu
> Date: Wed, 28 Nov 2001 21:12:55 -0800
> To: root@kanga.nu
>
> <MIME attachment application/octet-stream>
>
> Where the MIME attachment is the tarball constructed by
> ~/bin/mailman.backup. Edit the value of sendto in mailman.backup if
> you want them going somewhere else.
>
> I've added this to FAQ at:
>
> http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq04.006.htp
>
> --
> J C Lawrence
> ---------(*) Satan, oscillate my metallic sonatas.
> claw@kanga.nu He lived as a devil, eh?
> http://www.kanga.nu/~claw/ Evil is a name of a foeman, as I live.
>
> ------------------------------------------------------
> Mailman-Users maillist - Mailman-Users@python.org
> http://mail.python.org/mailman/listinfo/mailman-users