Najlepszy sposób na kontynuowanie zatrzymanego ruchu (mv) poprzez połączenie katalogów?

18

Przeniosłem (mv) dość duży katalog na mój NAS (oparty na Linuksie), ale musiałem przerwać procedurę. Nie będąc zwykłym użytkownikiem Linuksa, pomyślałem, że mógłbym kontynuować i scalić resztę później.

mv /oldisk/a /newdisk

Procedura jest w połowie zakończona, więc reszta / oldisk / a nadal istnieje, a / newdisk / a z już skopiowanymi plikami jest już obecny. Nie mam pojęcia, które pliki zostały już skopiowane. BTW, pod / oldisk / a, oczywiście, jest wiele podkatalogów.

Jaki byłby najlepszy sposób przeniesienia / scalenia pozostałych plików do / newdisk / a?

Horst Walter
źródło

Odpowiedzi:

28

rsync --verbose --archive --dry-run /oldisk/a/ /newdisk/a/

--dry-run(Lub -n) zrobi sucho, pokazując, co by to zrobić bez faktycznie robi nic.

Jeśli wygląda to dobrze, uruchom rsync bez -nopcji.

Będzie to kopia, a nie ruch, który nie jest dokładnie tym, co robisz, ale jest bezpieczniejszy. --archive(Lub -a) zapewnia wszystkie własności i znacznika czasu metadanych jest zachowana (co regularny kopia nie będzie).

cjc
źródło
2
Kopiowanie jest OK, zawsze można później usunąć stary katalog.
Horst Walter
4
Możesz użyć --remove-source-filesdo usunięcia plików, które zostały pomyślnie skopiowane. Ponadto, -Palbo --progresspokaże oszacowanie ile więcej plików są do zrobienia.
deltab
1
jako przykład posunięcia:rsync --remove-source-files --recursive --times --crtimes 1/* 2/
Sridhar Sarnobat
1
@deltab, --progress rysuje nowy pasek dla każdego pliku, zamiast tego --info = progress2 dla całego transferu.
把 友情 留 在 无 盐
Wow, to dość smutne. Mv jest zdecydowanie zepsuty, że potrzebuje innych narzędzi do robienia tego, co powinien być w stanie zrobić sam. Właśnie się o tym dowiedziałem, mv odmawia zapisania do istniejącego katalogu, co jest dość żałosne. Czas zamienić to polecenie na coś bardziej funkcjonalnego.
nigratruo