<<< Date Index >>>     <<< Thread Index >>>

Re: Using rsync with Mail-tree



On Thu, Feb 19, 2004 at 04:01:49AM EST, Chris Green wrote:
> On Wed, Feb 18, 2004 at 09:01:00PM +0100, Ton Boelens wrote:

> I've used rsync with a quite complex hierarchy of mail, it works quite
> well, I was using it to make my 'current' Mail tree available on
> another system (and to back it up), not quite the same as you're
> doing. There are a couple of things to note however:-
> 
>     1 - rsync wont work its wonders on individual messages, it will
>     compare mailbox files which contain many messages.  Thus if you
>     rsync a mailbox from system A to system B, then delete a message in
>     the mailbox on system B, then rsync it back the message will be
>     deleted on system A as well.  This may well be exactly what you
>     want it to do.
> 
>     2 - If you use a maildir hierarchy rather than an mbox one then
>     messages will never disappear unless you change from the default
>     rsync options.  I actually used this so that my system B was an
>     archive of every message that had been on system A even though
>     many had since been deleted.  I just copied daily  using rsync
>     from system A to systemm B.

I know this may be kinda sorta overkill, but how about maintaining your mail in 
a CVS repository?  Your MDA would have a checked out version which it would 
update every time before adding mail, and commit every time after adding mail.  
Your MUA would update every time new mail arrived, and commit every time you 
made a change.  Now, if you're not connected to the repository for some reason 
(or if your connection is painfully slow and you'd rather pretend you didn't 
have a connection at all), no problem: just don't bother committing/updating 
until the next time you connect.  Now, set up a to_send folder, and tell your 
MUA at home to automatically send anything dropped into the to_send folder, and 
then move it into the sent folder (or whereever - the inbox in my case).  Your 
remote mail client should have sendmail set to something that puts the mail in 
your to_send folder (don't forget to make a "Bcc:" header based on recipients 
not already listed in "To:" or "Cc:"), and commits if you feel like sending the 
email right now.

Advantages:
 - works for both maildir (assuming no filename collisions occur - how's that
   for "ultra reliable?") and mbox (no fine print, AFAIK)
 - allows simultaneous changes to be made in as many stations as you want (and
   if two stations change the same message in the same way, the last commit
   will win ... but this is really a border case, and only a strictly
   line-oriented mailbox format can fix it as long as we're using a strictly
   line-oriented diff)
 - sends all mail out from your main machine, so the SMTP signature is always
   identical regardless of where you sent it from (and it's up to you to let
   others know where you "really" sent the mail from, if you want to)

Disadvantages:
 - doesn't work reliably if mail is sent from more than one place (since the
   sent box is then in commit order, not sending order)
 - doesn't work reliably if mail comes in from more than one place (since the
   inbox then has the same problem)

That's all I can think of off-hand.  I assume nobody here's actually
crazy enough to have already tried it, but what do you folks think?

 - Dave

-- 
Uncle Cosmo, why do they call this a word processor?
It's simple, Skyler.  You've seen what food processors do to food, right?

Please visit this link:
http://rotter.net/israel

Attachment: pgphvM9Dqtcwp.pgp
Description: PGP signature