Index ¦ Archives ¦ Atom

Sbackup + Gpg + Ubuntu One = (Offsite & Free) Backup

Czyli: jak wykorzystać ubuntu one jako miejsce do offsite backupu w sposób bezpieczny i prosty

Zacznę jednak od cytatu:

"Prawdziwi twardziele backupów nie robią."

Ludzie dzielą się na tych którzy robią backup i na tych którzy będą robić :-) Ja należę do tych którzy backup robią, ale dotychczas robiłem to w sposób pokrętny - raz na miesciac na zewnętrzny dysk. Ma to wady - nie jest ofsajtowe, automatyczne... Postanowiłem to zmienić, szukając różnych rozwiązań.

Tutaj znalazłem fajny i prosty programik do backupu. Bez żadnej głębokiej filozofii - po prostu backupuje. Ustaliłem sobie co chcę backupować i automagicznie się to wrzuca na katalog /var/backup/DATA-ful/inc.

Jednak nie spełnia to warunków prawdziwego backupu - bo co stanie się gdy dysk z danymi nam wyparuje ? Backup stanie się nieosiągalny. Szukałem różnych rozwiązań, każde wymagało by albo zbyt dużych inwestycji (wykupienia usługi miejsca ofsajtowego), albo zaangażowania różniastych zaawansowanych narzędzi (choćby jakiś encrypting danych na zewnątrz).

Jednak przypomniało mi się, że przecież ubuntu dało mi 2 GB na Ubuntu One, i co gorsza mam to zamontowane wprost w katalogu domowym, więc wystarczy tam wrzucać pliki.

Co jednak z bezpieczeństwem ?

Sbackup - jak mówi jego nazwa to "simple backup". Nie ma żadnych wymyślnych funkcji do zabezpieczania danych.

Niestety jawnie powiedziane jest w TOS Ubuntu One, że pliki nie są szyfrowane na ichnich dyskach, więc nasze dane są pseudo bezpieczne.

Co zrobić żeby je zabezpieczyć ? Użyć do tego GPG! Dzięki temu, za pomocą prostych poleceń w konsoli można mieć zaszyfrowane dane.

Moja metoda

Schematycznie mój backup działa tak:

  1. sbackup zgodnie ze swoim profilem backupuje nam dane do /var/backup/nazwa.ful/incr (ja mam co 7 dni full)

  2. ja z crona odpalam skrypt który pakuje później gpg'uje plik i go kopiuje do katalogu Ubuntu One, starsze pliki są usuwane.
    Dla zainteresowanych oto skrypt z crona:

    #!/bin/bash
    cd /var/backup
    for i in *
     do
      if [ ! -e "~/Ubuntu One/bak/$i.tar.bz2.gpg" ]
       then
        tar -cj /var/backup/$i | gpg -r twoj@ident -e > ~/Ubuntu\ One/bak/$i.tar.bz2.gpg
      fi
     done
    #usuwamy stare backupy.
    cd  ~/Ubuntu\ One/bak/
    keepcount=30
    count=`ls |wc -l`
    toremove=$(($count-$keepcount))
    if [ $toremove -gt 0 ]
    then
      # remove old dirs
      rm -rf `ls |head -n $toremove`
    fi
    
  3. Ubuntu One automagicznie sobie w tle wypycha na mój zasób te szyfrowane pliki, w miarę możliwości łącza itp.

Prostota, a wszystkie założenia backupu są zachowane:

  • point in time recovery - po prostu muszę z odpowiedniego pliku wyciągnąć dane, albo z dysku, albo z UbuntuOne
  • automatyzacja - sbackup myśli jakie pliki skompresować, ładnie dobiera pliki do inkrementali, cron wyrzuca je na katalog eksportera , koniec końców UbuntuOne wypycha je samodzielnie "gdzieś tam"
  • odtwarzalność - bare metal recovery: instaluje sbackup, ściagam pliki z ubuntuone, odszyfrowuje, sbackup przywraca mi plik
  • offsajtowość - pliki mam gdzieś tam (chyba na S3 w amazonie, ale czy to ważne?)
  • bezpieczeństwo - pliki ofsajtowo, pomimo ze nie są w twojej infrastrukturze, są nieodczytywalne dla kogoś bez klucza gpg i hasła do tego klucza

Zalety

  • jest prosty do wdrożenia (sbackup + skrypcik w cronie)
  • Spełnia wszystkie założenia backupu (patrz wyżej)
  • jest darmowy (do 2GB w UbuntuOne)
  • wykorzystuje Ubuntu One w szczytnym celu ;-)

Wady

  • jest nadmiarowość zajmowanego miejsca na lokalnym dysku (prawdziwy backup, pliki szyfrowane w katalogu UbuntuOne - one są normalnie fizycznie na dysku)
  • opieramy się na usłudze UbuntuOne, która może po prostu pewnego dnia przestać być darmowa, a dane mogą po prostu zniknąć
  • w UbuntuOne za darmo są tylko 2GB - co dla niektórych może być mało, nie jestem pewien też jak zachowuje się UbuntuOne, gdy na tym darmowym planie, dojedzie się do 2GB na dysku - jak mi sie to zdarzy powiem wam czy coś zacznie płakać, albo rzuci komunikatami
  • (dla mnie to akurat zaleta) Trzeba mieć zainstalowane i umieć korzystać z:
    • klienta UbuntuOne (która z definicji jest tylko w ubuntu),
    • gpg,
    • crona.

Podsumowując, RÓBCIE BACKUP, dane tak szybko odchodzą!

EDIT: zmieniłem minimalnie skrypt kasujący stare backupy, bo poprzedni opierał się na mtime, a ten jest zbyt ruchomy.

Tutaj znalazłem fajny i prosty programik do backupu. Bez żadnej filozofii. Ustaliłem sobie co chcę backupować i automagicznie się to tam wrzuca na katalog /var/backup.Jednak nie spełnia to warunków prawdziwego backupu - bo co stanie się gdy dysk z danymi nam wyparuje ? Backup stanie się nieosiągalny. Szukałem różnych rozwiązań, każde wymagało by albo zbyt dużych inwestycji, albo zaangażowania różniastych zaawansowanych narzędzi.

Jednak genialnie mnie natchniło - że przecież ubuntu dało mi 2 GB na Ubuntu One, i co gorsza mam to zamontowane wprost w katalogu domowym, więc wystarczy tam wrzucać pliki.

Co jednak z bezpieczeństwem ?

Jawnie powiedziane jest w TOS Ubuntu One, że pliki nie są szyfrowane na ichnich dyskach, więc nasze dane są pseudo bezpieczne. Co zrobić żeby je zabezpieczyć ? Użyć do tego GPG! Dzięki temu, za pomocą prostych poleceń w konsoli można mieć zaszyfrowane dane.

Zatem sam proces jest następujący

1. sbackup zgodnie ze swoim profilem backupuje nam dane do /var/backup/nazwa.ful/incr (ja mam co 7 dni full)
2. ja z crona odpalam skrypt który pakuje później gpg'uje plik i go kopiuje do katalogu Ubuntu One, starsze pliki są usuwane.
dla zainteresowanych oto skrypt:

3. Ubuntu One automagicznie sobie w tle wypycha na mój zasób te szyfrowane pliki, w miarę możliwości

Prostota, a wszystkie założenia backupu są zachowane:

* point in time recovery - po prostu muszę z odpowiedniego pliku wyciągnąć dane
* automatyzacja - sbackup myśli jakie pliki skompresować, cron wyrzuca je na "eksporter", UbuntuOne wypycha je samodzielnie
* odtwarzalność - bare metal recovery: instaluje sbackup, ściagam pliki z ubuntuone, odszyfrowuje, sbackup przywraca mi plik
* offsajtowość - no właśnie, to dosyć ważne, bo nawet gdy wrzucasz na zewnętrzny dysk - to co będzie jak ci tfu tfu on się spali w jakimś pożarze ?
* bezpieczeństwo - pliki ofsajtowo, pomimo ze nie są w twojej infrastrukturze, są nieodczytywalne dla kogoś bez klucza gpg i hasła do tego klucza

Zalety

* Spełnia wszystkie założenia backupu (patrz wyżej)
*

Wady

© Piotr Lemiesz.