Jak ważne jest robienie kopii zapasowych (BackUp) sporo osób sobie uświadamia dopiero gdy znajdzie się w sytuacji, w której taka kopia by się przydała. Zazwyczaj tworzymy kopie zapasowe systemu, najważniejszych danych, może zdjęć z wakacji czy imienin cioci – ogólnie wszystkiego, co uznamy za ważne. Warto też pomyśleć o kopii zapasowej poczty e-mail, bo choć nie zanosi się by np. taki Gmail miał zniknąć, ale nigdy nic nie wiadomo (zawsze może też dojść do blokady konta).

Kopia zapasowa poczty Gmail (i G Suite)

Oczywiście możemy tworzyć kopie zapasowe poczty u różnych dostawców, korzystając z różnych metod – czasem będzie to odpowiednia opcja w ustawieniach konta (import i eksport), w innym przypadku będziemy mogli skorzystać z dedykowanych narzędzi, a w niektórych przypadkach wystarczy pobranie wiadomości za pomocą klienta pocztowego (lokalnego, lub zdalnego).

W tym wpisie skoncentruję się na kopii zapasowej poczty e-mail oferowanej przez Google, czyli zarówno w ramach sztandarowej – oprócz wyszukiwarki – usługi Gmail, jak i rozwiązań bardziej komercyjnych, działających w ramach G Suite (dawne Google Apps).

Przygotowania, czyli konfiguracja (po stronie) Gmaila

Zanim będziemy mogli przystąpić to pobrania wiadomości z Gmaila (lub poczty w ramach usługi G Suite) musimy odpowiednio przygotować nasze konto pocztowe.

Jeśli korzystacie z zewnętrznych aplikacji (klient pocztowy), które łączą się ze skrzynką za pomocą protokołu IMAP (zalecam, zwłaszcza w dobie “pracy na wielu urządzeniach” IMAP sprawdza się dużo lepiej niż protokół POP3) to zapewne ten krok możecie pominąć, bo już obsługę protokołu IMAP macie aktywną.

W innym przypadku należy przejść do ustawień poczty, a konkretnie do zakładki “przekazywanie i POP/IMAP”, gdzie należy aktywować protokół IMAP:

  • Ustawienia -> Przekazywanie i POP/IMAP -> Dostęp IMAP: Włącz IMAP

Warto też sprawdzić w ustawieniach zakładkę “etykiety”, gdzie możemy zdecydować, które etykiety będą widoczne w programie pocztowym, a tym samym będzie można zrobić kopię zapasową tych etykiet/folderów:

  • Ustawienia -> Etykiety -> [Wybrane etykiety]: Pokaż w kliencie IMAP

I to właściwie tyle, jeśli chodzi o przygotowania po stronie poczty Gmail (G Suite).

Gmvault, czyli kopia zapasowa poczty Gmail

Kiedyś do tworzenia kopii zapasowej poczty Gmail wykorzystywałem inny program, ale od kilku lat nie jest on już chyba rozwijany, dlatego od jakiegoś czasu korzystam z programu Gmvault. W przeciwieństwie do “starego programu” w Gmvault nie znajdziemy okienek (GUI), gdzie możemy ustawić wszystkie opcje – tu mamy do czynienia z programem działającym w ramach wiersza poleceń (konsoli). Może wydawać się to na początku trochę bardziej skomplikowane, ale to tylko złudzenie, bo obsługa programu – o czym mam nadzieję zaraz się przekonacie – jest prosta, a zarazem – dzięki temu, ze działa w ramach wiersza poleceń/konsoli – można wykorzystać go w skryptach, do zautomatyzowania całego procesu (kopie zapasowe powinny być wykonywane regularnie). Do tego program dostępny jest zarówno w wersji dla systemów Windows, jak i Mac OSX i Linux.

Jak widać na powyższej grafice mamy to całkiem pokaźny wachlarz możliwości – czy to tworzenia prostych kopii zapasowych, czy też korzystając z bardziej zaawansowanych opcji, takich jak np. szyfrowanie plików, wyszukiwanie, czy też przywracanie poczty na konto (również na inne, niż źródłowe). No i na koniec rzecz być może oczywista, ale warto o niej wspomnieć – program wykonuje pełne kopie wiadomości e-mail, czyli wraz z załącznikami.

Konfigurowanie kopii zapasowej

Z programu – jak już pisałem – możemy korzystać na różnych systemach, to ja na potrzeby tego poradnika postanowiłem skorzystać z wersji instalowanej w systemie Windows (ale polecenia będą raczej identyczne).

Po instalacji program znajdziemy w lokalizacji:

C:\Users\[nazwa użytkownika]\AppData\Local\gmvault

Najprostsza metoda synchronizacji – sprawdzi się głownie w sytuacji, gdy mamy tylko jedno konto do archiwizacji – to uruchomienie wiersza poleceń (konsoli) za pomocą skrótu na pulpicie (gmvault-shell) i skorzystanie z polecenia:

gmvault sync [email protected]

Pliki kopii zapasowej zostaną zapisane w katalogu “gmvault-db”, znajdującym się w katalogu (głównym) zalogowanego do systemu/komputera użytkownika.

Warto rozważyć trochę bardziej rozbudowaną wersję polecenia, w której dodatkowo wskazuję lokalizację plików kopii zapasowej, co może się przydać, zwłaszcza w sytuacji, gdy mamy więcej konta, które chcemy zarchiwizować:

gmvault sync [email protected] -d H:\BackUp\Gmail\[email protected]\Gmvault

W przypadku, gdy będziemy kopię tworzyć regularnie (np. za pomocą CRONa w systemie Linux, lub harmonogramu zadań w systemie Windows) to można całą operację przyspieszyć, ustawiając dla następnych wywołań parametr, dzięki któremu będą skanowane tylko wiadomości z ostatniego tygodnia:

gmvault sync [email protected] -t quick -d H:\BackUp\Gmail\[email protected]\Gmvault

Warto też rozważyć – zwłaszcza, jeśli wiadomości będą przechowywane w zewnętrznych zasobach, np. serwer plików S3 – ustawienie szyfrowania plików:

gmvault sync [email protected] -t quick -e -d H:\BackUp\Gmail\[email protected]\Gmvault

Od razu warto zrobić kopię zapasowa klucza szyfrującego, bez którego – co logiczne- nie będzie możliwe późniejsze odszyfrowanie wiadomości. Lokalizacja plik klucza dla powyższej, przykładowej konfiguracji będzie następująca:

H:\BackUp\Gmail\[email protected]\Gmvault\.info\.storage_key.sec

Więcej opcji dotyczących tworzenia kopii zapasowej poczty uzyskacie w pomocy, która możecie wywołać za pomocą polecenia:

gmvault sync -h

W przypadku automatycznej synchronizacji (CRON lub harmonogram zadań) można skorzystać ze skryptu BAT/CMD z takim poleceniem:

C:\Users\[nazwa użytkownika]\AppData\Local\gmvault\gmvault sync [email protected] -t quick -d H:\BackUp\Gmail\[email protected]\Gmvault

Jeśli synchronizacja ma dotyczyć więcej niż jednego konta, to warto wspomóc się funkcją “call”:

call C:\Users\[nazwa użytkownika]\AppData\Local\gmvault\gmvault sync [email protected] -t quick -d H:\BackUp\Gmail\[email protected]\Gmvault
call C:\Users\[nazwa użytkownika]\AppData\Local\gmvault\gmvault sync [email protected] -t quick -d H:\BackUp\Gmail\[email protected]\Gmvault

Musicie chyba przyznać, że nie było to takie straszne/trudne, jak mogłoby się na początku wydawać (ach ten straszny wiersz poleceń, i jeszcze straszniejsza konsola ;-)).

Pierwsza synchronizacja

Zapewne część z Was w tym momencie się zastanawia nad tym, jak ma to działać, skoro w żaden sposób nie weryfikowaliśmy swoich uprawnień, i czy w takim razie można zrobić kopię wiadomości z dowolnego konta, podając tylko adres e-mail.

Oczywiście, że tak nie jest, i podczas pierwszego uruchomienia synchronizacji dla każdego konta musimy autoryzować za pomocą tokena Gmail OAuth2 nasze uprawnienia co do wybranego konta.

W pewnym momencie – podczas pierwszego uruchomienia dla danego konta – pojawi się informacja o wymaganej autoryzacji, która odbywa się na stronie internetowej Google (odpowiednia strona zostanie uruchomiona/wywołana z aplikacji Gmvault), gdzie potwierdzamy nadanie odpowiednich uprawnień do naszego konta aplikacji:

W tym momencie uzyskamy kod (token Google OAuth2), który należy skopiować do okna aplikacji Gmvault:

Dalej wszystko działa tak samo, zarówno w przypadku pierwszej synchronizacji z autoryzacją, jak i każdej następnej.

Przywracanie wiadomości

Oczywiście nawet najlepsza kopa zapasowa jest nic niewarta, jeśli nie możemy jej wykorzystać, czyli w tym przypadku przywrócić wcześniej zarchiwizowanych wiadomości e-mail na konto. W tym celu korzystamy z polecenia:

gmvault restore [email protected]

Lub w wersji ze wskazaniem lokalizacji plików:

gmvault restore [email protected] -d H:\BackUp\Gmail\[email protected]\Gmvault

Więcej opcji dotyczących tworzenia kopii zapasowej poczty uzyskacie w pomocy, która możecie wywołać za pomocą polecenia:

gmvault restore -h

Co istotne, konto na które przywracamy wiadomości wcale nie musi być kontem, z którego zostały one pobrane, czyli można wykorzystać program do przenoszenia wiadomości między różnymi kontami Gmail (i G Suite).

Kopia zapasowa Hangouts

Co być może dla niektórych z Was będzie insertujące (a przynajmniej to sugerują statystyki dotyczące wejść z wyszukiwarki) za pomocą Gmvault można zrobić kopię zapasową również “czatów” Hangouts. Należy tylko w ustawieniach Gmaila ustawić widoczność etykiety “czaty” w kliencie IMAP.

Można też skorzystać z przełącznika “chats-only” by ograniczyć działanie programu tylko do czatów. Zarówno w przypadku tworzenia archiwum:

gmvault sync [email protected] --chats-only -d H:\BackUp\Gmail\[email protected]\Gmvault

Jak i przywracania:

gmvault restore [email protected] --chats-only -d H:\BackUp\Gmail\[email protected]\Gmvault

Nie testowałem w tym przypadku migracji na inne konto Gmail, ale raczej nie powinno być z tym problemów – w końcu zarówno czaty jak i wiadomości e-mail to po prostu pliki zapisane w odpowiednim formacie i miejscu (choć mogą jakieś komplikacje związane np. z nagłówkami wiadomości wystąpić w takim przypadku).

Z innymi dostawcami poczty (raczej) nie działa

W dokumentacji programu możemy trafić na kilka parametrów, które mogłyby sugerować, że dałoby się z programu skorzystać również w przypadku kont u innych dostawców poczty e-mail:

--server HOSTNAME     Gmail imap server hostname. (default: imap.gmail.com)
--port PORT           Gmail imap server port. (default: 993)
-p, --passwd          use interactive password authentication. (not recommended)
--renew-oauth2-tok    renew the stored oauth token (two legged or normal) via an interactive authentication session.
--renew-passwd        renew the stored password via an interactive authentication session. (not recommended)
--store-passwd        use interactive password authentication, encrypt and store the password. (not recommended)

Niestety testy w przypadku kilku “popularnych dostawców skrzynek SPAMowych” pokazały, że jednak nie ma takiej możliwości:

Error: GIMAPFetcher is not connected to a IMAP GMAIL server. Please check host (poczta.o2.pl) and port (993).
=== Exception traceback ===

Traceback (most recent call last):
  File "c:\Users\toto\Dev\gmvault\build\gmv_runner\out00-PYZ.pyz\gmv.gmv_cmd", line 746, in run
  File "c:\Users\toto\Dev\gmvault\build\gmv_runner\out00-PYZ.pyz\gmv.gmv_cmd", line 658, in _sync
  File "c:\Users\toto\Dev\gmvault\build\gmv_runner\out00-PYZ.pyz\gmv.gmvault", line 258, in __init__
  File "c:\Users\toto\Dev\gmvault\build\gmv_runner\out00-PYZ.pyz\gmv.imap_utils", line 310, in connect
  File "c:\Users\toto\Dev\gmvault\build\gmv_runner\out00-PYZ.pyz\gmv.imap_utils", line 132, in wrapper
  File "c:\Users\toto\Dev\gmvault\build\gmv_runner\out00-PYZ.pyz\gmv.imap_utils", line 505, in check_gmailness
Exception: GIMAPFetcher is not connected to a IMAP GMAIL server. Please check host (poczta.o2.pl) and port (993)

=== End of Exception traceback ===

Choć możliwe, że są takie konta nie-Gmail, w przypadku których się uda, bo. np. będą zgodne “strukturalnie” z poczta od Google.

(!) Zgłoś błąd na stronie | Lub postaw nam kawę :-)
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk