Archiwa tagu: backup

Przegraj (uszkodzony) dysk na dysk używając Linuxa

Scenariuszy do rozwiązania tego tematu jest sporo. Przetrenowałem ostatnio dwa.
A zaczęło się od wyzwania – dostałem stary dysk HDD, który trzeba było sklonować na SSD. Dysponowałem laptopem i jednym adapterem SATA<->USB. Niestety nie mogłem przez to przegrać danych bezpośrednio z dysku na dysk.

Podejście pierwsze – Zrób spakowaną kopię dysku do pliku, a następnie wypakuj na nowe urządzenie.

Zdecydowałem się na pakowanie w locie, ponieważ chciałem, aby obraz klonowanego dysku zajmował możliwie mało miejsca. Mam bardzo dobre doświadczenia z pakowaniem danych programem zstd. Postanowiłem więc z niego skorzystać. Stworzenie spakowanej kopii dysku do pliku:

$  zstd -16 -v -T0 </dev/sdX >/katalog/backup.zst
(-16 <- poziom kompresji, -v <- opowiadaj co robisz, -T0 <- policz ile jest cpu w komputerze i używaj ich)

Wypakowanie na nowy dysk:

$ zstdcat -v /katalog/backup.zst >/dev/sdX

    Wszystko by było super, gdyby nie okazało się, że dysk źródłowy ma bad sectory.

    Podejście drugie – lekko uszkodzone źródło

    Podejście drugie – Skorzystaj z ddrescue

    W moim przypadku źródłowy dysk został wyjęty z działającego komputera. Założyłem więc, że utrata kilku sektorów danych nikomu nie zaszkodzi. Postanowiłem użyć ddrescue – narzędzia, które potrafi ponowić próbę odczytu danych (-r3 <- trzykrotnie), ale też zignorować błędy i kopiować dalej to co warte uratowania. Nowa komenda to:

    $ ddrescue -d -r3 /dev/sdX /katalog/backup.img /katalog/backup.logfile

    A następnie wgrałem tak przygotowany obraz na nowy dysk:

    $ ddrescue -f /katalog/backup.img /dev/sdX /katalog/clone.logfile

    Mission accomplished 🙂

    OpenVMS: backup – czyli mądrzejsze copy

    Pomijając oczywiste zastosowanie tej komendy do backupów taśmowych, zdarza mi się czasami użyć jej do kopiowania ważnych plików między różnymi lokalizacjami. Czasami też muszę zrobić backup zestawu plików do jednego tzw. 'save setu’. Po ludzku pisząc – tar.

    1. bezpieczne przekopiowywanie plików (czyli z weryfikacją):
      backup disk$zrodlo:[katalog]*.*;* disk$cel:[katalog] /verify /log
      
    2. jak wyżej tylko, że z podkatalogami:
      backup disk$zrodlo:[katalog...]*.*;* disk$cel:[katalog...] /verify /log
      
    3. Zrobienie backupu większej ilości plików i podkatalogów do jednego pliku (czyli takie ztarowanie):
      backup disk$zrodlo:[katalog...]*.*;* disk$cel:[katalog]plik_z_backupem.bck /verify /log /save_set