Skip to content

Czy korzystanie z dysku twardego podczas działania rsync jest bezpieczne?

2 de lipiec de 2021
is it safe to use an hdd while rsync is running 00

Jeśli dopiero zaczynasz korzystać z rsync po raz pierwszy i masz wiele dużych dysków twardych do tworzenia kopii zapasowych, czy bezpieczne jest używanie jednego lub więcej z nich podczas długiego procesu? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na pytanie zmartwionego czytelnika.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser — pododdziału Stack Exchange, społecznościowej grupy witryn internetowych z pytaniami i odpowiedziami.

Pytanie

Czytnik SuperUser Wszyscy chcą wiedzieć, czy można bezpiecznie korzystać z dysku twardego podczas działania rsync:

Planuję wykonać kopię zapasową mojej kolekcji dużych dysków twardych za pomocą rsync i spodziewam się, że zajmie to kilka dni. Czy bezpieczne jest używanie oryginalnego dysku twardego (dodawanie plików) podczas działania rsync, czy też lepiej pozostawić dyski twarde nietknięte, dopóki rsync nie zostanie całkowicie zakończony?

Czy korzystanie z dysku twardego podczas działania rsync jest bezpieczne?

Odpowiedź

Współtwórca SuperUser Michael Kjorling ma dla nas odpowiedź:

Jak już zauważyli inni, podczas działania rsync można bezpiecznie czytać z dysku źródłowego lub używać dysku docelowego poza katalogiem docelowym. Można również bezpiecznie czytać w katalogu docelowym, zwłaszcza jeśli katalog docelowy jest wypełniany wyłącznie przez uruchomienie rsync.

Jednak ogólnie rzecz biorąc, nie jest bezpieczne pisanie w katalogu źródłowym podczas działania rsync. „Zapis” to wszystko, co modyfikuje zawartość katalogu źródłowego lub dowolnego jego podkatalogu, w tym aktualizacje plików, usuwanie, tworzenie itp.

W rzeczywistości niczego nie zepsuje, ale zmiana może, ale nie musi, zostać pobrana przez rsync w celu skopiowania do lokalizacji docelowej. Zależy to od typu zmiany, od tego, czy rsync przeskanował już ten konkretny katalog i czy rsync skopiował już dany plik lub katalog.

Jest jednak łatwy sposób na obejście tego. Po zakończeniu rsync uruchom go ponownie z tymi samymi parametrami (chyba że masz jakiś dziwny parametr usuwania; jeśli tak, zachowaj ostrożność). Spowoduje to, że rsync ponownie przeskanuje źródło i prześle wszelkie różnice, które nie zostały odebrane podczas oryginalnego uruchomienia.

Drugi przebieg powinien przenosić tylko różnice, które wystąpiły podczas poprzedniego uruchomienia rsync i jako taki zostanie ukończony znacznie szybciej. W ten sposób możesz swobodnie korzystać z komputera podczas pierwszego uruchomienia, ale powinieneś unikać dokonywania w miarę możliwości jakichkolwiek zmian w źródle podczas drugiego uruchomienia. Jeśli możesz, zdecydowanie rozważ ponowne zamontowanie źródłowego systemu plików jako tylko do odczytu przed rozpoczęciem drugiego uruchomienia rsync (coś w rodzaju mount -o ro,remount /media/source powinno wystarczyć).

Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych doświadczonych technologicznie użytkowników Stack Exchange? Sprawdź pełny wątek dyskusji tutaj.

Źródło obrazu: Zrzuty ekranu z Linuksa (Flickr)

Czy ten post był pomocny?