
Duplicity – szybkie i łatwe tworzenie kopii zapasowych
Wielu administratorów serwerów, już podczas tworzenia swojej architektury, musi zmierzyć się z problemem robienia kopii zapasowych swoich plików. Jest to bardzo ważna czynność, ponieważ jeżeli coś pójdzie nie tak, to dzięki takim plikom można szybko przywrócić system do stanu sprzed awarii. Najprostszymi narzędziami do robienia podstawowych kopii bezpieczeństwa są tar, gzip i lftp. Pierwsza aplikacja tworzy nam paczkę z wymaganymi plikami, druga ją kompresuje, natomiast trzecia wysyła na zewnętrzny serwer, przeznaczony na takowe kopie. Oczywiście część osób może sobie dorzucić do tego jeszcze szyfrowanie danych w ramach maksymalnego bezpieczeństwa.
Jednakże po pewnym czasie okazuje się, że wspomniane kopie zapasowe stają się coraz większe, przez co zajmują sporo miejsca, trwają długi czas oraz przesyłają się na inne maszyny zbyt dużą ilość czasu. Co możemy w takiej sytuacji zaradzić? Poszukać jakiegoś narzędzia, która umożliwi nam tworzenie przyrostowych kopii bezpieczeństwa.
I tutaj pojawia się Duplicity. Jest to aplikacja do tworzenia kopii zapasowej wybranych katalogów w postaci zaszyfrowanych plików oraz następnie zapisanie ich w jakiejś lokalizacji (zarówno zdalnej jak i lokalnej). Do działania wykorzystywana jest biblioteka rsync, co pozwala w łatwy sposób tworzyć przyrostowe archiwa, które przechowują tylko zmienione dane części plików. Archiwa możemy szyfrować oraz przesyłać zdalnie na inny serwer, przy pomocy takich protokołów, jak: FTP, IMAP, RSYNC, S3, SSH/SCP, WEBDAV i wiele innych.
Spis treści
Polecenia w Duplicity
Instalacja Duplicity
Do pobrania i zainstalowania Duplicity będziemy potrzebowali repozytorium EPEL:
yum install epel-release
Następnie należy wydać następującą komendę:
yum install duplicity
Po chwili aplikacja będzie gotowa do użycia w systemie.
Pełna kopia zapasowa
Przykładowy zestaw poleceń do wykonywania lokalnie wszystkich czynności.
duplicity full --no-encryption [ścieżka do katalogu do zrobienia kopii] file://[ścieżka do miejsca wrzucenia pliku z kopią zapasową]
Wykonuje pełną kopię zapasową, bez szyfrowania archiwum.
Pełna kopia zapasowa z warunkami
duplicity --full-if-older-than [ilość dni]D --no-encryption [ścieżka do katalogu lub pliku do zrobienia kopii] file://[ścieżka do miejsca wrzucenia pliku z kopią zapasową]
Wykonuje pełną kopię zapasową, bez szyfrowania, jeżeli ostatnia jest starsza niż podana ilość dni.
Kopia przyrostowa
duplicity --no-encryption [ścieżka do katalogu lub pliku do zrobienia kopii] file://[ścieżka do miejsca wrzucenia pliku z kopią zapasową]
Wykonuje nam poszczególne kopie zapasowe, bez szyfrowania.
Usuwanie pełnych kopii zapasowych
duplicity remove-all-but-n-full [liczba] --no-encryption --force file://[ścieżka do backupów]
Kasuje wszystkie pełne kopie zapasowe, poza tymi ostatnimi, wpisanymi jako liczba. Wpisanie wartości 1, spowoduje skasowanie wszystkich pełnych backupów, oprócz tego najnowszego.
Usuwanie kopii przyrostowych
duplicity remove-all-inc-of-but-n-full [liczba] --no-encryption --force file://[ścieżka do backupów]
Usuwa wszystkie kopie przyrostowe, przypisane do pełnych kopii zapasowych. Parametr [liczba] oznacza ilość pełnych kopii zapasowych. Opcja –force jest wymagana do skasowania plików, zamiast ich wypisywania na ekran.
Przywrócenie całej kopii zapasowej
duplicity -t [ilość dni, np. 5D] --force --no-encryption file://[ścieżka do backupów] [ścieżka do miejsca wypakowania kopii zapasowej]
Wypakowanie konkretnego pliku z kopii zapasowej
duplicity -t [ilość dni, np. 1D] --force --no-encryption --file-to-restore [nazwa pliku lub katalogu] file://[ścieżka do backupów] [ścieżka do miejsca wypakowania kopii zapasowej]
Przywraca nam konkretny plik z archiwum, zamiast całej kopii zapasowej. Przy archiwach, przekraczających kilka gigabajtów, zaoszczędza nam to sporo czasu.
Usuwanie plików z okresem większym, niż dni lub miesiące
duplicity remove-older-than [wpisać dni lub miesiące, np. 15D, 1M] file://[ścieżka do backupów]
Wylistowanie plików z archiwum gdzie znajduje się backup
duplicity list-current-files [opcje] file:///[ścieżka do folderu z backupami]
Jest to bardzo przydatna opcja, jeżeli chcemy wypakować tylko konkretne pliki lub katalogi. Możemy także zastosować przełącznik grep i wyszukać konkretną frazę lub wrzucić wynik polecenia do pliku.
Wypisanie informacji o kopii zapasowej i powiązanych
duplicity list-current-files [opcje] file:///[ścieżka do katalogu z backupami]
Testy wydajnościowe
Dla zobrazowania różnic, pomiędzy kopią zapasową przy użyciu duplicity, a Tarem zrobiliśmy kilka testów. Stworzyliśmy katalog z 50 GB losowo wygenerowanymi plikami. Następnie przeprowadziliśmy pełny backup przy pomocy naszego narzędzia oraz tarem. Potem stworzyliśmy dodatkowe 3 GB plików. Duplicity zrobiliśmy kopię przyrostową, a Tarem standardową kopię.

Jak możemy zauważyć na wykresie, Duplicity potrzebowało jedynie 3 minut do sprawdzenia, co się zmieniło i zrobienia kopii zapasowej różnic. Tar natomiast musiał zrobić wszystko.

Podsumowanie
Zalety
- Dobra dokumentacja projektu
- Prosta składnia
- Szybkość robienia przyrostowych kopii zapasowych
- Oszczędność łącza internetowego
- Łatwe zarządzanie kopiami zapasowymi
- Bardzo szybkie wyciąganie konkretnych plików z archiwum
Wady
- Długi czas robienia pełnej kopii zapasowej
- Uszkodzenie plików z kopii przyrostowej, uniemożliwia odzyskanie danych od tego dnia
Zobacz inne nasze artykuły
Zobacz wszystkie artykuły6 kwietnia 2022
Dlaczego warto rozdzielać strony na różne konta hostingowe?
Czytaj dalejKilka stron internetowych na jednym serwerze to zagrożenie, które może mieć różne oblicza. Dowiedz się, jakie są najważniejsze z nich i sprawdź, dlaczego warto rozdzielać strony na różne konta hostingowe.
13 września 2021
Jak przygotować stronę na Black Friday lub większy ruch?
Czytaj dalejZbyt duży ruch na stronie internetowej może okazać się tak samo zgubny, jak jego brak. Klęska urodzaju skutkuje przeciążeniem serwera. W takiej sytuacji nikt nie jest w stanie skorzystać np. z oferty Twojego sklepu internetowego, a Ty nie zarabiasz. Dowiedz się, jak optymalnie przygotować stronę na zwiększony ruch.
10 września 2021
Zarządzanie hasłami, czyli jak nie stracić danych
Czytaj dalejMasz konto w banku? Korzystasz z Internetu przy pomocy smartfona? Gratulacje! W takim razie jesteś po jaśniejszej stronie mocy, do której nie sięga wykluczenie cyfrowe. Jednak czy tak samo skutecznie, jak zapraszasz kumpla na piwo przez komunikator, potrafisz zatroszczyć się o bezpieczeństwo swoich danych?