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 | 7 komentarzy | więcej