Przesyłałem kilka tysięcy plików ~ 1 MB przez scp, a moje połączenie zostało zerwane po pierwszych 2k plików. Chciałem wiedzieć, czy istnieje sposób na wznowienie transferu rekurencyjnego bez rozpoczynania od nowa. Coś jak
$ scp -r [email protected]:/datafiles/ ./
... Happy Transfer ...
... BREAK! ...
$ rsync -P [email protected]:/datafiles/ ./
... Continue transf...
Problem polega na tym, że nie wydaje się, aby poprawna składnia była możliwa, jeśli jest to możliwe. Czy ktoś może rzucić nieco światła na to, czy / jak można to zrobić?
PS. Jeśli określisz ukośnik po „plikach danych” w wierszu rsync, czy spowoduje to przeniesienie katalogu lub jego zawartości? Kiedy googlowałem, widziałem sprzeczne komentarze.
ssh -i akey.pem
jest wymagany i nie mogę zmusić-i
części do pracy z tymi poleceniami.--partial --inplace --no-whole-file
.-l
to nie jest konieczne. Sugeruje to:-a
Poniższy wiersz powinien załatwić sprawę:
rsync --partial --progress --rsh = ssh -r [email protected]: / datafiles / ./
Nigdy wcześniej nie korzystałem z tego w przypadku katalogów rekurencyjnych, ale kiedy właśnie to napisałem, wydawało się, że działa zgodnie z oczekiwaniami.
źródło
Polecenie rsync, które wymieniłeś, działałoby, jeśli dodałeś tylko „-r”. ale najprawdopodobniej będziesz chciał również „-a” i „-v”.
A jeśli chodzi o końcowy ukośnik, [email protected]: / data / jest równoważne z / data / *, innymi słowy, jeśli dodasz ukośnik, kopiuje on całą zawartość. ale [email protected]: / data to sam katalog [i oczywiście jego podfoldery]
źródło
Połączenie odpowiedzi Kibitzera i Tylera działało dla mnie najlepiej:
(rsynchronizuje rekurencyjnie i pokazuje postęp każdego pliku)
źródło