SPOJE.NET

Technická dokumentace

Uživatelské nástroje

Nástroje pro tento web


howto:hosting:posta-migrace

Migrace pošty pomocí IMAPu

Pokud potřebujeme migrovat mailboxy mezi servery, můžeme na to velmi jednoduše využít protokol IMAP pomocí skriptu imapcopy

Instalace

Migrace pošty

  • Na novém serveru založíme čisté mailboxy
  • Napíšeme si bashový skript na migraci mailboxů (pokud jich migrujeme více, jinak nám postačí jen zadání příkazu)
migruj.sh
#!/bin/bash
/usr/local/bin/iu-copy -R -S src.server.cz:993/test@domena.cz/heslo -D dst.server.cz:993/test@domena.cz/heslo
/usr/local/bin/iu-copy -R -S src.server.cz:993/test2@domena.cz/heslo -D dst.server.cz:993/test2@domena.cz/heslo
/usr/local/bin/iu-copy -R -S src.server.cz:993/test3@domena.cz/heslo -D dst.server.cz:993/test3@domena.cz/heslo

Pokud spouštíme skript iu-copy přímo na serveru, kam migrujeme poštu, můžeme dst.server.cz:993 nahradit zalocalhost:143, čímž bude celá operace rychlejší.

  • Po spuštění skriptu uvidíme zhruba tento výpis - zde ukazuji jen migraci jednoho mailboxu:
gandalf@sirius:~/bin# ./iu-copy -R -S iris.spoje.net:993/test@domena.cz/heslo -D localhost:143/test@domena.cz/heslo
./iu-copy starting
Connected to iris.spoje.net on port 993
Authenticating to iris.spoje.net:993 as test@domena.cz
Connected to localhost on port 143
Authenticating to localhost:143 as test@domena.cz
Number of mailboxes to process: 6
   Copied 3 messages to INBOX.Archiv.2014
   Copied 1 messages to INBOX.Sent
   INBOX.Archiv mailbox is empty
   INBOX.Drafts mailbox is empty
   INBOX.Trash mailbox is empty
 
   Copied 2969 messages to INBOX
Copied 2973 total messages
  • Hotovo. Nyní se přihlaste pomocí webmailu nebo poštovního klienta a zkontrolujte, jestli je obsah schránky kompletní.
Pokud potřebujete jen aktualizovat změny do již přemigrované schránky, můžete ještě do příkazového řádku přidat parametr -U

Pro úplnost ještě uvádím kompletní parametry skriptu iu-copy:

usage:
 iu-copy  -S sourceHost/sourceUser/sourcePassword [/CRAM-MD5]
          -D destHost/destUser/destPassword [/CRAM-MD5]
          -d debug
          -I show IMAP protocol exchanges
          -L logfile
          -m mailbox list (eg "Inbox, Drafts, Notes". Default is all mailboxes)
          -R include submailboxes when used with -m
 
          -e exclude mailbox list
          -r remove msgs from source mbx after copying
          -p <mailbox> put copied mailboxes under a root mailbox
          -A <mailbox> copy to local mailbox from scrmbx
          -x <mbx delimiter [mbx prefix]>  source (eg, -x '. INBOX.'
          -y <mbx delimiter [mbx prefix]>  destination
          -i initialize mailbox (remove existing messages first
          -M <file> mailbox map file. Maps src mbxs to dst mbxs. Each line in the file should be 'src mbx:dst mbx'
          -q quiet mode (still writes to the logfile)
          -t <timeout in seconds>
          -T copy custom flags (eg, $Label1,$MDNSent,etc)
          -a <DD-MMM-YYYY> copy only messages after this date
          -b <DD-MMM-YYYY> copy only messages before this date
          -X <megabytes> Skip any message exceeding this size
          -U update mode, don't copy messages that already exist
          -B <msgnum>  Starting point for message fetch
          -E <msgnum>  Ending point for message fetch
howto/hosting/posta-migrace.txt · Poslední úprava: 2016/10/29 23:05 autor: 127.0.0.1