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
- Stáhneme balíček se skripty = http://imaputils.googlecode.com/files/imaputils-1.0.2.tar.gz, pokud není dostupné, můžete stáhnout skripty z našeho mirroru.
- V debianu je potřeba doinstalovat balíček
libio-socket-ssl-perl
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