Automatyczna kopia naszej poczty z serwerów Google via IMAP


Robienie kopii zapasowych to jedna z najważniejszych rzeczy o których powinien pamiętać każdy użytkownik. Posiadając cała swoją korespondencję na serwerach Google (Google Apps), chciałem się zabezpieczyć na wypadek awarii czy też braku dostępu do webmaila.

Szukając optymalnego rozwiązania najpierw określiłem jakiej funkcjonalności potrzebuję. Otóż:

  • wszystko miało działać automatycznie – to działka crona
  • emaile miałby być „zrzucane” do jednego pliku – czyli korzystamy z formatu mbox
  • dostęp do Gmaila tylko via IMAP – aby nie usuwał ściągniętych emaili czy też oznaczał ich jako przeczytane.
  • możliwość przeglądania kopii lokalnym mutt’em

Tak oto cron odpala raz na dobę getmaila, który nowe maile wrzuca mi do ~/backup/poczta.mbox. Proste? :) Jak to można osiągnąć?

Najpierw Włączamy dostęp via IMAP do naszej poczty (Settings -> Forwarding and POP/IMAP -> IMAP Access -> Enable IMAP)

Następnie na swoim serwerze sprawdzamy czy mamy (a jak nie to instalujemy): getmail , mutt i cron

W tym momencie przystępujemy do konfiguracji wszystkich elementów:


Plik ~/.getmail/poczta



[retriever]
type = SimpleIMAPSSLRetriever
server = imap.gmail.com
username = nasz@adres.com
password = haslo #mailboxes = („rok_2008”)
[destination]
type = Mboxrd
path = ~/backup/poczta.mbox
[options]
verbose = 2
received = false
delivered_to = false
message_log = ~/.getmail/poczta.log

Najważniejszej sekcji [retriever] nie muszę chyba dokładnie tłumaczyć. Niemniej jednak na uwagę zasługuje polecenie mailboxes. Pozwala ono na pobieranie wiadomości przypisanych tylko do jednego gmailowskiego Labela. W ten oto sposob po przypisaniu np jednej części poczty etykiety rok_2007 a drugiej rok_2008 możemy przez operowanie wartością mailboxes i path stworzyć sobie archiwum dzielone na lata ;-)

Tworzymy plik archiwum:


touch ~/backup/poczta.mbox


Teraz dodajemy getmail do crona:


crontab -e
03 04 * * * /usr/bin/getmail -ln --rcfile poczta


(ścieżkę do getmail sprawdzimy przez which getmail)

W końcu możemy skonfigurować mutta by korzystał z naszego archiwum do odczytywania poczty:

Plik ~/.muttrc


set spoolfile = "~/backup/poczta.mbox"
set move = no


Masz pomysł na inne/lepsze/prostsze rozwiązanie tego problemu? Daj znać :)
W końcu – jak wiemy – ludzie dzielą się na tych co robią kopie zapasowe i na tych co będą je robić .

oryginalne źródło

Wysłany: 14 maja 2009 o 22:09:51

Zostaw odpowiedź

  1. Grzegorz 

    Jakiś czas temu opisałem "kilka sposobów na kopię zapasową skrzynki mailowej":http://grzglo.jogger.pl/2009/03/01/kopia-zapasowa-skrzynki-mailowej/, całość za sprawą klikalnych programów (zatem coś dla użytkowników Windows).

    Jeśli ktoś ma Gmail podpiętego do klienta poczty w Linuksie, może "zarchiwizować pobrane wiadomości za pomocą Archivemail":http://grzglo.jogger.pl/2008/11/13/uprzatnij-skrzynke-pocztowa-z-archivemail/.

  2. zx 

    Tyle dziwnych rzeczy, a Postbox robi to sam z siebie. ;)

  3. gierwialo 

    @Grzegorz: właśnie przeczytałem Twój wpis. Dzięki za informację, bo np o archivemail nie wiedziałem.

    @zx: ale z tego co wiem to on jest tylko na Windowsa ;-)

  4. mruwek 

    OfflineImap polecam. Korzystam w tandemie z muttem na swoim komputerze domowym.

  5. Michał Górny 

    Jakieś cuda wymyślacie, a stary fetchmail dalej doskonale się sprawdza.

  6. Riel 

    Każdy robi tak jak lubi :-)
    Może szanowny Pan Autor po prostu lubi komplikować sobie życie?

  7. zx 

    Jest dla Windows i OSX. Wydawało mi się, że i pod Linuxa jest. Sprawdziłem - fakt, nie ma.

Musisz się zalogować, żeby dodać komentarz.