W celu archiwizacji danych w systemie Linux wymagane jest utworzenie archiwum. Korzystając z zamieszczonej w ramce pomocy dobierz odpowiednie polecenie.
| -c, --create | utworzenie nowego archiwum |
| -z, --gzip | filtrowanie archiwum przez gzip |
| -v, --verbose | wypisywanie szczegółów o przetwarzanych plikach |
| -f, --file=ARCHIWUM | użycie pliku lub urządzenia ARCHIWUM |
| -x, --extract | rozpakowanie plików z archiwum |
| -t, --list | wypisanie zawartości archiwum |
| -r, --append | dołączenie plików na końcu archiwum |
| -u, --update | dołączenie tylko plików nowszych niż kopie w archiwum |
Polecenie tar –cvf to absolutna podstawa, jeśli chodzi o archiwizację danych w systemach Linux. Flaga -c, jak pokazuje tabela pomocy, oznacza utworzenie nowego archiwum, a -v pozwala na obserwowanie, co dokładnie jest do niego dodawane – co, moim zdaniem, bywa przydatne, zwłaszcza gdy pracujesz z większą liczbą plików i chcesz mieć szybki podgląd postępu. Opcja -f wskazuje miejsce docelowe archiwum, czyli nazwę pliku (na przykład backup.tar). Bardzo często w praktyce dodaje się też -z do kompresji przez gzip, czyli tar -czvf, co pozwala mocno zmniejszyć rozmiar archiwum. Warto przyjąć zasadę, żeby zawsze jasno nazywać pliki wynikowe i trzymać się ustalonych konwencji nazewnictwa, bo potem łatwiej znaleźć archiwum wśród setek innych plików. Z mojego doświadczenia archiwizacja przez tar to nie tylko backupy – sporo administratorów korzysta z tej metody do migracji środowisk, przenoszenia całych katalogów konfiguracyjnych czy nawet przygotowywania snapshotów aplikacji na serwerach produkcyjnych. Dobrą praktyką jest też testowanie potem archiwum przez tar -tvf, żeby sprawdzić, czy wszystko się poprawnie zapisało. Ogólnie, polecenie tar –cvf to żelazny standard i aż dziw bierze, jak często ktoś się myli, bo nie do końca rozumie, co oznacza każda flaga – choć to przecież fundamenty pracy w Linuxie.
Zdarza się, że wybór niepoprawnego polecenia tar wynika z nie do końca precyzyjnego rozumienia działania poszczególnych przełączników. Bardzo częstym błędem, który obserwuję u początkujących, jest mylenie opcji służących do archiwizacji z tymi od rozpakowywania lub przeglądania archiwum. Na przykład użycie -x (extract) razem z -v i -f, czyli tar –xvf, odpowiada za wyodrębnianie plików z istniejącego archiwum, a nie za jego tworzenie. To podejście najczęściej pojawia się u osób, które kojarzą tar głównie z rozpakowywaniem rzeczy pobranych z internetu i nie rozróżniają na szybko trybu tworzenia od odczytu. Podobnie tar –tvf, gdzie -t służy tylko do listowania zawartości archiwum – przydatne, jeśli chcesz zobaczyć, co jest w środku, ale zupełnie nieprzydatne podczas procesu archiwizacji. Jest jeszcze opcja -r (append), czyli tar –rvf, którą niektórzy wybierają z nadzieją, że utworzy archiwum, tymczasem ona służy do dopisywania kolejnych plików do już istniejącego archiwum. Co ciekawe, w praktyce administratorzy rzadko używają tej opcji, bo łatwiej i bezpieczniej jest po prostu utworzyć nowe archiwum. Często powodem tych pomyłek jest też nazewnictwo – słowo 'archiwum' bywa mylące, bo nie każdy rozumie, że chodzi o proces tworzenia, a nie tylko przechowywania. Warto zapamiętać, że w systemach uniksowych i linuksowych każdy przełącznik polecenia tar ma konkretne, dobrze zdefiniowane zadanie, zgodnie ze standardami POSIX. Poprawne rozumienie ich funkcji to moim zdaniem klucz do sprawnej pracy z backupami, migracjami i codzienną administracją serwerami. Często wystarczy chwila zastanowienia i rzucenie okiem do manuala (man tar), żeby uniknąć tych typowych pułapek.