
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.
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ły30 grudnia 2020
Czego nie zrobi za Ciebie hosting?
Czytaj dalejWielu klientów firm hostingowych ma mylne przekonanie, że hostingodawca załatwi za nich wszystkie problemy i istotne sprawy, które trzeba załatwić, dbając o utrzymanie witryny znajdującej się na ich serwerach. Stety-niestety tak to nie działa. Zatem, czego nie zrobi za Ciebie hosting? Nie pozmywa garów, nie zrobi strony, nie wyniesie śmieci ani nie poprawi błędów w kodzie Twojej witryny.
1 grudnia 2020
Jak przenieść WordPressa na inny serwer?
Czytaj dalejKlamka zapadła. Masz już dość zamulającego hostingu albo kosmicznych kosztów jego utrzymania i w końcu podejmujesz decyzję o przeniesieniu witryny postawionej na WordPressie. Jak przenieść WordPressa na inny serwer? O czym musisz pamiętać i w jaki sposób powinieneś się do tego przygotować? Migracja WordPressa na inny serwer nie jest wcale taka trudna, jak mogłyby się wydawać, a z naszym poradnikiem to istna kaszka z mleczkiem.
7 października 2020
Google Workspace – najlepsza poczta firmowa, jaką możesz założyć
Czytaj dalejGoogle Workspace to prawdopodobnie najlepsza poczta firmowa, na jakiej możesz pracować. Świetne filtry antyspamowe, pełna kontrola nad danymi firmy, możliwość wyboru kraju, w którym będą przechowywane Twoje dane, kalendarz, Google Meets… A to jedynie ułamek zalet G Suite. Sprawdź, dlaczego powinieneś rozważyć przesiadkę na Google Workspace.