Jak użyć tar do pełnej kopii zapasowej i przywracania z systemem na SSD i home na HDD?

14

Jak użyć tar do pełnej kopii zapasowej i przywracania z systemem na SSD i home na HDD?

Istniejące odpowiedzi dotyczące tworzenia kopii zapasowych i przywracania wydają się nie obejmować przypadku, w którym root i strona główna znajdują się na osobnych urządzeniach

Zbuduj to
źródło
Witamy w AU! Szukasz jednorazowej rzeczy lub ciągłego / okresowego rozwiązania? Czy miejsce docelowe kopii zapasowej jest lokalne czy zdalne? tartak naprawdę nie dba o urządzenia i punkty montowania. Proszę edytować swój post do włączenia dodatkowych informacji.
David Foerster,
„Istniejące odpowiedzi na kopie zapasowe i przywracanie nie wydają się obejmować przypadku, w którym root i strona główna znajdują się na oddzielnych urządzeniach” powód: to zły pomysł, a tworzenie 2 plików kopii zapasowych jest nie tylko mądrzejsze, ale także bardziej wydajne.
Rinzwind

Odpowiedzi:

17

Zaleca się wykonanie DWÓCH kopii zapasowych. 1 dla / i 1 dla / home, jeśli są na innej partycji. Jeśli chcesz, będziesz musiał dodać wiele wyjątków do tego jednego polecenia. Przykład:

sudo su
cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system / 
tar -cvpzf backuphome.tar.gz --one-file-system /home/

utworzy kopię zapasową katalogu głównego i wykluczy WSZYSTKIE zamontowane partycje, takie jak / media (nie chcesz tworzyć kopii zapasowych urządzeń zewnętrznych (tak naprawdę nie robisz)) i absolutnie NIE chcesz tworzyć kopii zapasowej czegoś takiego jak / dev lub / proc. I / home przechodzi do kolejnej kopii zapasowej.

W powyższej metodzie kopie zapasowe są przechowywane w /. Lepiej będzie przechowywać go na zewnętrznych nośnikach; możesz następnie umieścić katalog przed plikiem backup.tar.gz i usunąć --exclude=...z pierwszego polecenia.

  • backup.tar.gz jest kopią zapasową.
  • --excludeUniemożliwi rzeczywista zapasowej należy backupped.
  • cvpzf: twórz, gadatliwie, zachowuj uprawnienia, kompresuj, używaj pliku.

  • --one-system plików - Nie dołączaj plików do innego systemu plików. Jeśli chcesz wykonać kopię zapasową innych systemów plików, takich jak partycja / home lub nośnik zewnętrzny zamontowany w / media, musisz wykonać kopię zapasową oddzielnie lub pominąć tę flagę. Jeśli pominiesz tę flagę, będziesz musiał dodać kilka dodatkowych argumentów --exclude =, aby uniknąć niepotrzebnych systemów plików. Byłyby to katalogi / proc, / sys, / mnt, / media, / run i / dev w katalogu głównym./ proc i / sys to wirtualne systemy plików, które dostarczają okna do zmiennych uruchomionego jądra, więc nie chcesz próbować ich tworzyć i przywracać. / dev to tmpfs, którego zawartość jest dynamicznie tworzona i usuwana przez udev, więc nie chcesz również tworzyć kopii zapasowych ani przywracać. Podobnie, / run to tmpfs, który przechowuje zmienne dotyczące działającego systemu, które nie wymagają tworzenia kopii zapasowej ( Źródło ).


Więc ... jeśli naprawdę chcesz mieć „liner”, może wyglądać tak:

cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc 
--exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys / 

(Mam nadzieję, że mam wszystko, co należy wykluczyć)


Przywrócenie byłoby

sudo su
cd /
tar xvzf backup.tar.gz

Nie użyłem sudoprzed poleceniem tar, ponieważ pojawi się komunikat o błędzie dotyczący uprawnień (z powodu plików należących do roota).

Rinzwind
źródło
Twoja sugestia dwóch linii działała bardzo dobrze, z wyjątkiem tego, że podczas tworzenia kopii zapasowej systemu dostałem jedną wiadomość. „/lib64/ld-linux86-64.so2 tar: /: plik zmieniony podczas jego czytania.” Czy to normalne podczas tworzenia kopii zapasowej?
Buildit
Tak. tar poinformuje cię o zmianach w pliku podczas wykonywania kopii zapasowej samego pliku (sprawdza status pliku przed i po utworzeniu kopii zapasowej). Ogólnie rzecz biorąc, te wiadomości są nieszkodliwe. Jeśli masz własne oprogramowanie / dane i umieścisz je w jednym z tych plików, sam odtworzę kopię zapasową.
Rinzwind
Standardowa tar nie kompresuje, po prostu łączy wszystko w jednym pliku (TAR = Tape ARchive). Zamiast tego spróbuj gtar.
Alan Campbell,
1
Jeśli polecenie nie utworzy kopii zapasowej niektórych katalogów, czy muszę je ponownie utworzyć podczas przywracania systemu? Jakie zalety ma ta metoda po prostu przy użyciu Deja-Dup?
user4493605