Jak samodzielnie przenieść pocztę za pomocą imapsync (przez SSH)?
Cel Artykułu: Ten artykuł wyjaśnia, jak użyć narzędzia imapsync poprzez połączenie SSH do samodzielnego przeniesienia całej zawartości skrzynki pocztowej z dotychczasowego serwera na hosting IQhost.
Czym jest imapsync i kiedy go używać?
Imapsync to narzędzie wiersza poleceń, które umożliwia synchronizację, kopiowanie i migrację skrzynek pocztowych między dwoma serwerami IMAP. Jest to zaawansowane rozwiązanie, szczególnie przydatne w następujących sytuacjach:
- Potrzebujesz przenieść dużą ilość wiadomości (kilka GB lub więcej)
- Chcesz zachować dokładną strukturę folderów
- Dotychczasowy host nie oferuje wygodnego sposobu eksportu/importu
- Potrzebujesz pełnej kontroli nad procesem migracji
- Migracja standardowymi metodami nie powiodła się
Uwaga: Ten poradnik jest przeznaczony dla użytkowników z podstawową znajomością wiersza poleceń i SSH. Jeśli wolisz prostsze rozwiązanie, skorzystaj z usługi bezpłatnej migracji oferowanej przez IQhost.
Wymagania wstępne
Zanim rozpoczniesz proces migracji poczty za pomocą imapsync, upewnij się, że:
-
Masz dostęp SSH do hostingu IQhost
- Pakiety HS25 i wyższe standardowo posiadają dostęp SSH
- Musisz mieć skonfigurowany dostęp z kluczem SSH (nie ma możliwości logowania hasłem)
-
Masz działające konto e-mail na serwerze IQhost
- Konto docelowe musi być już utworzone w DirectAdmin
- Hasło do konta e-mail musi być ustalone
-
Znasz dane IMAP serwera źródłowego
- Adres serwera IMAP (np. imap.gmail.com)
- Numer portu (typowo 143 lub 993 dla SSL/TLS)
- Login i hasło do konta źródłowego
- Informacje, czy serwer wymaga szyfrowania SSL/TLS
-
Znasz dane IMAP serwera IQhost
- Adres serwera: imap.iqhs.pl lub imap.twojadomena.pl
- Port: 993 (SSL/TLS) lub 143 (STARTTLS)
- Login i hasło do konta docelowego
Krok 1: Konfiguracja dostępu SSH
Jeśli nie masz jeszcze skonfigurowanego dostępu SSH, wykonaj poniższe kroki:
-
Wygeneruj parę kluczy SSH na swoim komputerze
Na systemie Linux lub macOS, otwórz terminal i wykonaj:
ssh-keygen -t rsa -b 4096
Na Windows możesz użyć programu PuTTYgen lub wykonać to polecenie w Windows Subsystem for Linux.
-
Dodaj klucz publiczny w DirectAdmin
- Zaloguj się do DirectAdmin przez Panel Klienta IQhost
- Przejdź do sekcji SSH Management lub Zarządzanie SSH
- Kliknij Public Keys lub Klucze publiczne
- Wklej zawartość pliku
id_rsa.pub
(utworzonego w poprzednim kroku) - Zapisz zmiany
-
Przetestuj połączenie SSH
Połącz się z serwerem używając:
ssh hostXXXXX@hostXXXXX.iqhs.pl
Gdzie
hostXXXXX
to Twoja nazwa użytkownika hostingu. Przy pierwszym połączeniu zostaniesz poproszony o zaakceptowanie klucza serwera.
Wskazówka: Jeśli korzystasz z PuTTY na Windows, musisz przekonwertować klucz prywatny do formatu PPK za pomocą PuTTYgen, a następnie wczytać go w programie PuTTY.
Krok 2: Sprawdzenie dostępności imapsync
Narzędzie imapsync jest już zainstalowane na serwerach IQhost. Sprawdź, czy jest dostępne i jaką ma wersję:
imapsync --version
Powinieneś zobaczyć informację o wersji narzędzia, na przykład:
imapsync version 2.xxx
Jeśli otrzymasz błąd "command not found", skontaktuj się z pomocą techniczną IQhost.
Krok 3: Przygotowanie do migracji
Zanim rozpoczniesz właściwą migrację, warto przygotować i przetestować polecenie imapsync:
-
Zbierz wszystkie potrzebne dane
Przygotuj w jednym miejscu:
- Adres serwera źródłowego IMAP
- Login i hasło do konta źródłowego
- Adres serwera docelowego IMAP (imap.iqhs.pl)
- Login i hasło do konta docelowego
-
Utwórz plik z hasłami (opcjonalne, ale zalecane)
Aby uniknąć wpisywania haseł bezpośrednio w wierszu poleceń, możesz utworzyć plik z hasłami:
mkdir -p ~/.imapsync touch ~/.imapsync/passwords.txt chmod 600 ~/.imapsync/passwords.txt
Następnie edytuj plik (np. za pomocą nano lub vim) i dodaj hasła:
source_password=TwojeHasłoŹródłowe target_password=TwojeHasłoDocelowe
-
Sprawdź dostępność serwerów
Możesz użyć prostego polecenia
ping
lubtelnet
, aby sprawdzić, czy serwery są dostępne:ping -c 3 serwer-zrodlowy.pl telnet serwer-zrodlowy.pl 993
W przypadku
telnet
naciśnij Ctrl+C, aby przerwać po nawiązaniu połączenia.
Krok 4: Wykonanie testowej migracji
Zanim przystąpisz do pełnej migracji, warto wykonać test na małej ilości danych:
-
Uruchom imapsync z limitem wiadomości
imapsync \ --host1 imap.serwer-zrodlowy.pl \ --user1 twoj-login@serwer-zrodlowy.pl \ --password1 TwojeHasłoŹródłowe \ --ssl1 \ --host2 imap.iqhs.pl \ --user2 twoj-email@twojadomena.pl \ --password2 TwojeHasłoDocelowe \ --ssl2 \ --maxage 7 \ --dry
Flaga
--maxage 7
ogranicza test do wiadomości nie starszych niż 7 dni. Flaga--dry
wykonuje "suchy bieg" - pokazuje, co zostałoby zrobione, ale nie wykonuje faktycznej migracji. -
Sprawdź wynik testowania
Przeanalizuj wynik polecenia, zwracając uwagę na:
- Poprawność połączenia z oboma serwerami
- Liczbę folderów i wiadomości do zsynchronizowania
- Ewentualne błędy lub ostrzeżenia
-
Wykonaj faktyczną testową migrację
Jeśli test wygląda dobrze, usuń flagę
--dry
i wykonaj rzeczywistą migrację ograniczonej liczby wiadomości:imapsync \ --host1 imap.serwer-zrodlowy.pl \ --user1 twoj-login@serwer-zrodlowy.pl \ --password1 TwojeHasłoŹródłowe \ --ssl1 \ --host2 imap.iqhs.pl \ --user2 twoj-email@twojadomena.pl \ --password2 TwojeHasłoDocelowe \ --ssl2 \ --maxage 7
-
Sprawdź, czy wiadomości zostały prawidłowo przeniesione
Zaloguj się do Webmaila IQhost lub użyj klienta pocztowego, aby sprawdzić, czy testowe wiadomości zostały poprawnie przeniesione wraz z folderami.
Krok 5: Wykonanie pełnej migracji
Gdy testowa migracja przebiegnie pomyślnie, możesz przystąpić do pełnej migracji:
-
Przygotuj polecenie do pełnej migracji
imapsync \ --host1 imap.serwer-zrodlowy.pl \ --user1 twoj-login@serwer-zrodlowy.pl \ --password1 TwojeHasłoŹródłowe \ --ssl1 \ --host2 imap.iqhs.pl \ --user2 twoj-email@twojadomena.pl \ --password2 TwojeHasłoDocelowe \ --ssl2 \ --automap \ --useheader 'Message-ID' \ --skipcrossduplicates \ --nofoldersizes \ --nofoldersizesatend
Dodatkowe opcje:
--automap
- automatycznie mapuje nazwy folderów między serwerami--useheader 'Message-ID'
- używa nagłówka Message-ID do identyfikacji wiadomości--skipcrossduplicates
- pomija wiadomości, które już istnieją w dowolnym folderze--nofoldersizes
i--nofoldersizesatend
- pomija obliczanie rozmiarów folderów, co przyspiesza migrację
-
Uruchom pełną migrację
Zalecamy uruchomienie migracji w sesji
screen
lubtmux
, aby proces nie został przerwany w przypadku utraty połączenia SSH:screen -S email_migration # Następnie uruchom polecenie imapsync
Aby odłączyć się od sesji screen (proces będzie kontynuowany), naciśnij Ctrl+A, a następnie D.
Aby ponownie podłączyć się do sesji:
screen -r email_migration
-
Monitoruj postęp migracji
Imapsync na bieżąco wyświetla informacje o postępie, w tym:
- Aktualnie przetwarzany folder
- Liczbę przetworzonych wiadomości
- Szacowany czas pozostały do zakończenia
Migracja dużych skrzynek pocztowych może trwać kilka godzin lub nawet dni, w zależności od ilości danych i szybkości serwerów.
Krok 6: Weryfikacja migracji
Po zakończeniu procesu migracji należy dokładnie sprawdzić, czy wszystkie dane zostały poprawnie przeniesione:
-
Sprawdź strukturę folderów
Porównaj hierarchię folderów na obu serwerach. Wszystkie foldery ze źródłowego serwera powinny być widoczne na serwerze docelowym.
-
Sprawdź liczbę wiadomości
Imapsync podaje statystyki na końcu migracji. Upewnij się, że liczba wiadomości na serwerze docelowym odpowiada liczbie na serwerze źródłowym.
-
Sprawdź wybrane wiadomości
Wyrywkowo sprawdź kilka wiadomości, zwłaszcza te z załącznikami, aby upewnić się, że zostały poprawnie przeniesione.
-
Wykonaj ponowną synchronizację (opcjonalnie)
Jeśli zauważysz brakujące wiadomości lub inne problemy, możesz uruchomić imapsync ponownie. Narzędzie jest idempotentne - przenosi tylko te wiadomości, których jeszcze nie ma na serwerze docelowym.
Typowe problemy i ich rozwiązania
Problem: Błąd uwierzytelniania na serwerze źródłowym
Rozwiązanie:
- Sprawdź, czy podałeś poprawny login i hasło
- Jeśli korzystasz z Gmaila, musisz utworzyć hasło do aplikacji
- Niektóre serwery wymagają pełnego adresu e-mail jako loginu, inne tylko części przed @
Problem: Błąd uwierzytelniania na serwerze IQhost
Rozwiązanie:
- Upewnij się, że konto e-mail zostało poprawnie utworzone w DirectAdmin
- Sprawdź, czy hasło jest prawidłowe
- Jako login używaj pełnego adresu e-mail
Problem: Błąd "Unable to connect to..."
Rozwiązanie:
- Sprawdź, czy podałeś poprawny adres serwera
- Upewnij się, że port jest prawidłowy (993 dla SSL/TLS, 143 dla nieszyfrowanego lub STARTTLS)
- Sprawdź, czy serwer źródłowy nie blokuje połączeń wychodzących
Problem: Migracja jest bardzo wolna
Rozwiązanie:
- Użyj opcji
--nofoldersizes
i--nofoldersizesatend
, aby przyspieszyć proces - Rozważ użycie opcji
--usecache
, która zapisuje informacje o wiadomościach w pamięci podręcznej - Podziel migrację na mniejsze części, np. przenosząc najpierw nowsze wiadomości
Problem: Niektóre foldery nie zostały przeniesione
Rozwiązanie:
- Sprawdź, czy nazwy folderów nie zawierają znaków specjalnych
- Użyj opcji
--prefix1
i--prefix2
, jeśli foldery są w różnych lokalizacjach na serwerach - Ręcznie zmapuj problematyczne foldery za pomocą opcji
--folderrec
Zaawansowane opcje imapsync
Imapsync oferuje wiele zaawansowanych opcji, które mogą być przydatne w specyficznych przypadkach:
Synchronizacja tylko wybranych folderów
imapsync ... --include "INBOX|Sent|Important"
Ta opcja synchronizuje tylko foldery, których nazwy pasują do podanego wyrażenia regularnego.
Wykluczenie niektórych folderów
imapsync ... --exclude "Spam|Trash|Junk"
Ta opcja pomija foldery, których nazwy pasują do podanego wyrażenia regularnego.
Migracja tylko nowych wiadomości
imapsync ... --maxage 30
Ta opcja migruje tylko wiadomości nie starsze niż 30 dni.
Ograniczenie rozmiaru migrowanych wiadomości
imapsync ... --maxsize 10485760
Ta opcja pomija wiadomości większe niż podany rozmiar (w bajtach, w tym przypadku 10 MB).
Zmiana nazw folderów podczas migracji
imapsync ... --regextrans2 "s/OldName/NewName/"
Ta opcja zmienia nazwy folderów na serwerze docelowym zgodnie z podanym wyrażeniem regularnym.
Zapisywanie logów do pliku
imapsync ... --logfile /path/to/migration_log.txt
Ta opcja zapisuje szczegółowe logi migracji do pliku, co jest przydatne do analizy w przypadku problemów.
Dobre praktyki i wskazówki
-
Wykonuj migrację w kilku etapach:
- Najpierw przenieś najnowsze wiadomości (np. za pomocą --maxage)
- Następnie przenieś starsze wiadomości w kilku partiach
- Na końcu wykonaj pełną synchronizację, aby upewnić się, że wszystko zostało przeniesione
-
Nie przerywaj działającego procesu migracji:
- Używaj screen lub tmux, aby proces działał nawet po rozłączeniu SSH
- Jeśli musisz przerwać, zrób to w bezpieczny sposób (np. Ctrl+C), a nie zamykając terminal
-
Monitoruj zużycie zasobów:
- Duże migracje mogą obciążać serwer
- W razie potrzeby użyj opcji
--fetchsizelimit
i--buffersize
, aby kontrolować zużycie pamięci
-
Zachowaj kopie zapasowe:
- Nie usuwaj oryginalnych wiadomości z serwera źródłowego, dopóki nie upewnisz się, że migracja przebiegła poprawnie
- Poczekaj kilka dni po migracji, zanim anulujesz usługę u poprzedniego dostawcy
-
Po migracji:
- Zaktualizuj rekordy MX domeny, aby kierować pocztę na serwery IQhost
- Aktualizuj konfigurację klientów pocztowych, aby korzystały z nowych serwerów
Powiązane Artykuły:
- Jak utworzyć konto e-mail w DirectAdmin?
- Jakie są dane serwerów pocztowych (IMAP, POP3, SMTP)?
- Jak skonfigurować konto e-mail w popularnych programach?
- Jak skonfigurować dostęp SSH za pomocą kluczy?
- Jak wgrać wiadomości do katalogu IMAP przez FTP/FileZilla?
Czy ten artykuł był pomocny?
Twoja strona WordPress działa wolno?
Sprawdź nasz hosting WordPress z ultraszybkimi dyskami NVMe i konfiguracją serwera zoptymalizowaną pod kątem wydajności. Doświadcz różnicy już dziś!
Sprawdź ofertę hostingu