Od czasu do czasu muszę wykonać kilka dużych zmian migracji plików danych na moim serwerze i szukam dobrego sposobu, aby to zrobić. Myślałem o użyciu rsync do zduplikowania mojej struktury katalogów, zaczynając od głównego katalogu danych, tworząc twarde linki do wszystkich oryginalnych plików (niektóre z nich są dość duże), i mogę zastąpić w drzewie docelowym tylko te pliki, które wymagają migracji. Na koniec mogę bezpiecznie przełączać się ze starych plików na nowe za pomocą dwóch mv
operacji.
Jednak nie wydaje mi się, aby rsync to zrobił. próbowałem
rsync -a --link-dest=$DATA $DATA $DATA/../upgrade_tmp
ale zamiast tworzyć twarde linki do plików, rsync kopiuje je całkowicie. Czy występuje problem z korzystaniem z tego samego katalogu źródłowego i docelowego?
ls -ilah
$SOURCE
katalogu w katalogu takim$TARGET
jak ten:SOURCE='abs_path_to_backup'; TARGET='.'; rsync -a --link-dest=$(relpath $TARGET $SOURCE) $SOURCE/ $TARGET/
Co chcesz to „cp -al”:
rsync -a
źródło
cp -al
jest niestety niedostępny w moim systemie (Mac OS X 10.6). Zamiast tego użyję pax ...--link-dest
Opcja wrsync
jest w stosunku do docelowego katalogu, a nie w bieżącym katalogu. Więc czego chcesz to:źródło
--link-dest
opcja, jeśli jest względna , jest względna w stosunku do katalogu docelowego. W moim przypadku jest to absolutne. Nawet uczynienie go względnym do katalogu docelowego nie działa.Okazuje się, że trudniej to zrobić za
rsync
pomocą innych narzędzi. Prawidłowa odpowiedźrsync
brzmi: Steven Monai, ale najłatwiejszym sposobem na to jest użycie jednegocp -al
lubpax -rwl
w systemach, w których-l
nie jest poprawna opcja dlacp
:lub
źródło
Mi to pasuje:
Używam rsync w wersji 3.1.0.
Od człowieka :
źródło
Można wypróbować następujący link http://www.lessfs.com/wordpress/ to działa na COW (kopiowanie przy zapisie), co pozwoli zaoszczędzić czas i miejsce
źródło
Najpierw utwórz katalogi tylko w miejscu docelowym:
Następnie podłącz tylko twarde pliki:
źródło
pax
jak pokazano w moim komentarzu powyżej, co wydaje się łatwiejsze.Użyj opcji -H, aby zachować Hardlinks i przeczytaj stronę podręcznika.
źródło