Backup Posts

GMail-viestien varmistus Linux-koneella

Äskettäinähn sattui Googlelle pikkiriikkinen kämmi, jonka yhteydessä 150 000 käyttäjän viestit katosivat. Osahan käsittääkseni saatiin palautettua, mutta tämän seurauksena ainakin varmistuksia tuottavat puljut hykertelevät tyytyväisenä partaansa saadessaan pelokkaita käyttäjiä asiakkaakseen. Näin varmistat Gmail-tilisi viestit Linux- ja getmail-avusteisesti jemmaan omalle koneellesi, josta ne on näppärä siirtää esim: Dropbox:n tai ulkoiselle kiintolevylle etc.

Palikat kasaan ja varmistamaan

Ubuntu-käyttäjät kajauttavat ilmoille loitsun: sudo apt-get install getmail4
Muut tutkailevat järjestelmänsä pakettihallinnasta löytyykö sieltä sovelias paketti.

Konffataan, säädetään ja tunkataan

  • Ensimmäinen vaihe on tarkistaa Gmailin asetuksista, että POP-Lataus on käytössä ja valitaan myös vaihtoehto: ‘säilytä kopio postilaatikossa’.
  • Luo kotihakemistoosi uusi hakemisto: “.getmail” komennolla: “mkdir ~/.getmail”
  • Luo kotihakemistoosi uusi hakemisto nimellä: gmail-archive komennolla: “mkdir ~/gmail-archive”
  • Luo myös hakemistot: tmp, new ja cur komennolla: “mkdir ~/gmail-archive/tmp ~/gmail-archive/new ~/gmail-archive/cur”
  • Seuraavaksi siirry hameistoon .getmail ja luo sinne tiedosto nimeltään: “getmail.gmail” vaikkapa komennolla: “nano getmail.gmail”

Liitä siihen seuraava koodinpätkä ja tallenna tiedoto:

[retriever]
type = SimplePOP3SSLRetriever
server = pop.gmail.com
username = TUNNUKSESI@gmail.com
password = salasanasi

[destination]
type = Maildir
path = ~/gmail-archive/

[options]
# print messages about each action (verbose = 2)
# Other options:
# 0 prints only warnings and errors
# 1 prints messages about retrieving and deleting messages only
verbose = 2
message_log = ~/.getmail/gmail.log

Tuossa oli se vaikein vaihe. Seuraavaksi komennetaan: “getmail -r /home/TUNNUKSESI/.getmail/getmail.gmail” ja jos kaikki meni mallikkaasti konffeissasi pitäisi viestien alkaa valumaan koneellesi. Gmail antaa ladata vain vajaa 600 viestiä kerrallaan, joten joudut ajamaan oheisen komennon useamman kerran.

Lataa uudet viestit automaattisesti

Kun ensimmäinen kaikkien viestien varmistus on tehty voidaan homma automatisoida. Pienimuotoinen skriptinkikkare hoitaa homman mallikkaasti. Luo kotihakemistoosi fetch-email.sh komennolla “nano fetch-email.sh” liitä alla oleva koodinpätkä siihen ja tallenna:

#!/bin/bash
# Note: -q means fetch quietly so that this program is silent
/usr/bin/getmail -q -r /home/TUNNUKSESI/.getmail/getmail.gmail

Aja myös komento chmod u+rx /home/TUNNUKSESI/fetch-email.sh
Seuaavaksi loitsitaan crontab -e ja lisätään rivi:

# Every 10 minutes (at 7 minutes past the hour), fetch my email
7,17,27,37,47,57 * * * * /home/TUNNUKSESI/fetch-email.sh

Tämä crontab-vienti kertoo cron:lle “aja joka kymmenes minuutti skripti fetch-email.sh”

Kotihakemiston varmuuskopiointi

Myös Linuxin parissa puuhastellessa on varmuuskopiointi varsin suositeltavaa. Tärkeintä olisi ainakin varmistaa kotihakemistonsa (/home) ja suositeltavaa on varmistaa myös hakemisto (/var). Varmuuskopiointiin on olemassa moniakin hyväksi havaittuja menetelmiä ja sovelluksia ja tässä opastan muutaman sovelluksen, joilla voi varmistaa kotihakemistosi automaattisesti ja puoliautomaattisesti Dropbox-palveluun. Oheinen ohjeistus on varsin yleispätevä ja soveltamalla toiminee muissakin, mutta esimerkissäni pohjalla on GNOME.

Alkuvalmistelut:

Asenna Dropbox-paketti järjestelmääsi. Tarjolla ovat ainakin paketit: Ubuntulle (.deb) ja Fedoralle (.rpm), sekä lähdekoodit, joista voit kääntää sen itse. Voit halutessasi lisätä Dropbox:n myös järjestelmäsi repository-listaan.

Ubuntussa asennus on äärimmäisen jouhevaa komentamalla päätteessä: sudo apt-get update;sudo apt-get upgrade nautilus-dropbox

Fedoran kanssa joutuu hieman tekemään käsitöitä luomalla sopivalla tekstieditorilla pääkäyttäjänä tiedosto: dropbox.repo hakemistoon /etc/yum.repos.d eli esimerkin valossa päätteellä nano:a käyttäen komennetaan: nano /etc/yum.repos.d/dropbox.repo ja lisätään alla oleva pätkä:

[Dropbox]
name=Dropbox Repository
baseurl=http://linux.dropbox.com/fedora/$releasever/
gpgkey=http://linux.dropbox.com/fedora/rpm-public-key.asc

tallennetaan ja komennetaan päätteessä yum install nautilus-dropbox. Kun Dropbox on asennettu ja tunnus palveluun luotu Dropbox:n sivulla päästään väkertämään varmistuksia. Käynnistä Dropbox GNOME:n valikoista: Sovellukset -> Internet -> Dropbox. Voit halutessasi luoda varmistuksia varten Dropbox:n oman hakemiston.

Helpoin ja automaattinen tapa:

Helpoin tapa lienee Déjà Dup:lla varmistaminen. Sovellus löytynee oletuksena sekä viimeisimmästä Ubuntusta (10.04), että Fedora 13:ssa. Graafinen simppeli sovellus, jolla kotihakemiston varmistaminen on helppoa kuin heinän teko konsanaan. Siispä sovellus tulille: Muokkaa -> Asetukset.

Ensimmäisenä valitaan kohta: Varmuuskopion sijainti. Alasvetovalikosta otetaan kohta: Muu…. Valitaan nautiluksessa näkyvä Dropbox ja mahdollinen kansio (Itselläni on Dropbox:n tehtynä Linux Daily Backups – hakemisto) ja painetaan: Avaa. Seuraavaksi valkataan mitä varmuuskopioidaan. Oletuksena siellä on ainakin /home ja tähän on mahdollista lisätä muitakin vaihtoehtoja. Dropbox:n tila on kuitenkin rajallinen (muistaakseni 2GB) joten mahdottoman kokoisia hakemistoja ei tänne kannattane varmistaa. Käytänkin itse Dropbox:a lähinnä lisäturvana normaalien ulkoiselle kiintolevylle tehtävien täydellisten varmistusten lisäksi.

Ohita tiedostot kansioissa: kohtaan valitaan ne kansiot, joiden tiedostoja et halua varmuuskopioida. Tähän luonnollisesti kannattaa laittaa Dropbox-hakemisto, ettei sitä turhaan varmisteta.

Halutessasi voit ruksittaa myös kohdan: Salaa varmuuskopiotiedostot ja laita myös ruksi kohtaan: Varmuuskopioi automaattisesti säännöllisin väliajoin ja valitse alasvetovalikoimasta sopiva varmistus väli. Lisäksi voit vielä valita vähimmäisajan kuinka kauan varmistuksia säilytetään. Minimi on vähintään viikko, joka on varmasti riittävä.

Hieman monimutkaisempi tapa:

Tämä hieman monimutkaisempi, mutta varsin monien suosima menetelmä on käyttää rsync:a. Se on ohjelma, jolla ylläpidetään ajantasaista hakemistorakenteen, CD-levyn tms. kopiota, joko samalla koneella tai muualla. rsync kopioi oletuksena vain muuttuneet tiedostot ja isojen tiedostojen osalta vain tiedoston muuttuneet osat, mikä tekee synkronoinnista varsin nopeaa.

Haluamme siis varmuuskopioida /home – hakemiston Dropbox:n vaikkapa hakemistoon Upload ja ohittaa /home:sta löytyvä Dropbox-hakemisto. Kopioida myös piilotetut osat /home-hakemistosta. Komennetaan päätteessä:

rsync -auv --exclude='.*' --delete --exclude="Dropbox" --exclude="Upload" /home/TUNNUKSESI/ /home/TUNNUKSESI/Dropbox/

Seuraavaksi voidaan rakennella pienoinen skripti, jolla varmistus tapahtuu ilman yllä olevan ritirimpsun naputtelua. Liitä seuraava koodinpätkä johonkin käyttämääsi tekstieditoriin (gedit, nano etc.). Muuta siihen oikea tunnuksesi ja halutessasi voi muuttaa myös Upload-hakemiston joksikin muuksi mieleiseksesi.

#!/bin/sh
rsync -auv --exclude='.*' --delete --exclude="Dropbox" --exclude="Upload" /home/TUNNUKSESI/ /home/TUNNUKSESI/Dropbox/

Tallenna tiedosto esimerkiksi nimellä Backup tai Varmistus. Seuraavaksi annamme skriptille suoritusoikeudet. Komenna päätteessä: chmod 755 Backup ja suorita skripti.