#!/bin/bash bindir="/usr/lib/mailman/bin" basedir="/var/lib/mailman/archives/private" [ $# == 0 ] && echo "Usage: `basename $0` [...]" for list in $@; do mboxdir="$basedir/$list.mbox" mboxfile="$mboxdir/$list.mbox" htmldir="$basedir/$list" if [ "x$1" != "" -a -d $mboxdir ]; then echo "Renewing list \"$list\"..." # Make sure the mbox file exists even if no mails are archived yet touch $mboxfile && chown list.list $mboxfile && chmod 664 $mboxfile rm -rf $htmldir # $bindir/arch $list mkdir -p $htmldir && chown list.list $htmldir && chmod 2755 $htmldir su list "mhonarc -outdir $htmldir -idxfname index.html -rcfile /etc/mailman/mhonarc.mrc -title \"$list Archive (by Date)\" -ttitle \"$list Archive (Threaded)\" $mboxfile" echo "Done with list \"$list\"!" else echo "Problem renewing list \"$list\"." fi done