W tym artykule zawarto kilka przydatnych sugestii dotyczących rsync
co najmniej:
Problemy
Używanie rsync --sparse works
, ale powoduje ogromne podłączenie niepotrzebnych zapisów na dysku. Zmiana 10 bajtów na 50 GB długości (używany 1 GB) powinna spowodować zapisanie jednego lub dwóch bloków, co spowoduje zapisanie 1 GB. Jest to powolne i możliwe, że nie sprzyja długowieczności dysków.
Korzystanie rsync --inplace
działa, ale tworzy pliki nieliczne.
Nie można jednocześnie używać opcji --sparse i --inplace :-( jest to zabronione przez rsync. Rsync: --sparse nie można używać z --inplace
Rozwiązanie
Jeśli użyjesz opcji --inplace, aby zaktualizować istniejący wcześniej plik rozrzedzony, plik pozostanie rzadki i zapisana będzie tylko niewielka liczba bloków. Tylko gdy rsync --inplace tworzy plik, sprawia, że jest on rzadki.
Tak więc rozwiązaniem jest utworzenie odpowiedniego, poprawnie wydłużonego, pustego i rzadkiego pliku na komputerze docelowym dla każdego pliku na komputerze źródłowym - jeśli plik nie jest jeszcze obecny na komputerze docelowym.
Następnie rsync --inplace będzie działał zgodnie z przeznaczeniem, pozostawiając rzadkie pliki rzadkie i tylko zapisując zmienione bloki na dysku.
Tak więc, jeśli dobrze to przeczytam, najpierw musisz utworzyć pusty plik rozrzedzony w celu. Możesz to zrobić za pomocą
truncate -s 3G filename
Następnie możesz użyć rsync --inplace
do skopiowania plików. Powinno to być konieczne tylko raz.
Ten sam artykuł sugeruje użycie Virtsync, który jest
komercyjne narzędzie wiersza polecenia systemu Linux o wartości 49 USD do synchronizacji zawartości dużych plików (takich jak obrazy dysków i bazy danych maszyn wirtualnych).
To może być najlepsze rozwiązanie, jeśli chcesz za to zapłacić, ponieważ wydaje się, że jest napisane specjalnie dla tego rodzaju sytuacji.