123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
- <HTML>
- <HEAD>
- <META NAME="generator" CONTENT="http://txt2tags.org">
- <TITLE>Good practices for imapsync</TITLE>
- </HEAD><BODY BGCOLOR="white" TEXT="black">
- <CENTER>
- <H1>Good practices for imapsync</H1>
- <FONT SIZE="4"><I>Gilles LAMIRAL gilles@lamiral.info</I></FONT><BR>
- <FONT SIZE="4">% $Id: GOOD_PRACTICES.t2t,v 1.10 2019/11/25 12:50:54 gilles Exp gilles $</FONT>
- </CENTER>
- <P></P>
- <HR NOSHADE SIZE=1>
- <P></P>
- <UL>
- <LI><A HREF="#toc1">Good practices for imapsync</A>
- <UL>
- <LI><A HREF="#toc2">Simple transfer</A>
- <LI><A HREF="#toc3">Exact backup</A>
- <LI><A HREF="#toc4">Restore</A>
- <LI><A HREF="#toc5">Presync</A>
- </UL>
- </UL>
- <P></P>
- <HR NOSHADE SIZE=1>
- <P></P>
- <A NAME="toc1"></A>
- <H1>Good practices for imapsync</H1>
- <P>
- You are not supposed to have read the TUTORIAL documentation but
- reading it should help to understand and master the following best practices.
- </P>
- <A NAME="toc2"></A>
- <H2>Simple transfer</H2>
- <P>
- By principle, imapsync does not change any single byte of messages,
- unless --regexmess or --addheader is used.
- Imapsync identifies messages with "Message-Id" and "Received" headers,
- so it ignores messages that lack those headers;
- most of the time it happens with the "Sent" folders.
- </P>
- <P>
- A way to sync those messages is to add option --addheader.
- Before appending a message on host2, and only when needed,
- --addheader option adds a Message-Id header like "Message-Id: <123456789@imapsync>"
- where 123456789 is the host1 folder message UID. Messages on host1 stay untouched.
- This way, multiples runs will not generate duplicates as long as UIDs stay
- the same on host1, which is the case for most imap servers.
- </P>
- <P>
- Unix:
- </P>
- <PRE>
- imapsync \
- --host1 imap.truc.org --user1 foo --password1 secret1 \
- --host2 imap.trac.org --user2 bar --password2 secret2 \
- --addheader
- </PRE>
- <P>
- Windows:
- </P>
- <PRE>
- imapsync ^
- --host1 imap.truc.org --user1 foo --password1 secret1 ^
- --host2 imap.trac.org --user2 bar --password2 secret2 ^
- --addheader
- </PRE>
- <A NAME="toc3"></A>
- <H2>Exact backup</H2>
- <P>
- Assertions for this example:
- </P>
- <UL>
- <LI>The target account at host2 is considered like inactive.
- <LI>Everything a user does on host1 will be synced, folders, messages, flags.
- <LI>Everything a user does on host2 will be erased by the sync.
- <P></P>
- Two options are good for an exact backup, --delete2 and --delete2folders.
- <P></P>
- <LI>--delete2: deletes messages in host2 that are not in host1 server.
- <LI>--delete2folders: deletes folders in host2 that are not in host1 server.
- <P></P>
- Unix:
- <PRE>
- imapsync \
- --host1 imap.truc.org --user1 foo --password1 secret1 \
- --host2 imap.trac.org --user2 bar --password2 secret2 \
- --delete2 --delete2folders
- </PRE>
- Windows:
- <PRE>
- imapsync ^
- --host1 imap.truc.org --user1 foo --password1 secret1 ^
- --host2 imap.trac.org --user2 bar --password2 secret2 ^
- --delete2 --delete2folders
- </PRE>
- </UL>
- <P>
- Have in mind
- </P>
- <UL>
- <LI>Doing backups without restoring at least one time to check the process
- is like pissing in a violin or throwing away your messages.
- <LI>Manual backups are useless because manually you will never have the ones you need
- to restore, they will always be out of date.
- <LI>Automatic backups are the way to go. They never forget to start. But they may fail.
- <LI>Automatic backups can fail. How? Hard disks get fully filled, they crash.
- Networks fail too.
- <LI>Monitor the backups.
- <LI>Remember you have backups.
- <LI>Document the restoring process or consider the backup is a just a lost trash.
- <LI>Think twice at least before running any restoring command.
- Restoring is dangerous.
- </UL>
- <A NAME="toc4"></A>
- <H2>Restore</H2>
- <P>
- Restoring is not the exact reverse of backupping
- since between a backup and a mistake, the context has changed,
- some things went wrong but not all, for examples new messages arrived.
- So synchronize an active account identical from a backup might not be the best idea.
- </P>
- <P>
- The context can be a crash or equivalent like when a
- not friendly admin or service closed definitevely access to your messages.
- Even in that case an exact restore, with --delete2 --delete2folders, should not be ok,
- just because new messages arrive in INBOX all the time.
- </P>
- <A NAME="toc5"></A>
- <H2>Presync</H2>
- <P>
- Presync is like a backup except deleting folders on host2 that
- are not on host1 is not always wanted. Presync means a new
- different imap server will host messages and folders.
- Often this new imap server has predefined folders that
- should be kept for proper use, so I suggest to not use
- option --delete2folders.
- </P>
- <P>
- Unix:
- </P>
- <PRE>
- imapsync \
- --host1 imap.truc.org --user1 foo --password1 secret1 \
- --host2 imap.trac.org --user2 bar --password2 secret2 \
- --delete2
- </PRE>
- <P>
- Windows:
- </P>
- <PRE>
- imapsync ^
- --host1 imap.truc.org --user1 foo --password1 secret1 ^
- --host2 imap.trac.org --user2 bar --password2 secret2 ^
- --delete2
- </PRE>
- <!-- html code generated by txt2tags 2.6 (http://txt2tags.org) -->
- <!-- cmdline: txt2tags -i doc/GOOD_PRACTICES.t2t -t html -\-toc -o doc/GOOD_PRACTICES.html -->
- </BODY></HTML>
|