Czy ktoś wie, dlaczego rsync ciągle wysyła pliki?


14

Próbuję użyć rsync do utworzenia kopii zapasowej niektórych plików, około połowy TB. Teraz jest to stan, w którym wysyła te same pliki przy każdym uruchomieniu.

na przykład:

rsync -av /data/source/* user@host:/data/dest
sending incremental file list
source/file1.txt
source/file2.txt

Następnie sprawdzam, czy pliki zostały skopiowane ... a następnie przy następnym uruchomieniu robi to samo

rsync -av /data/source/* user@host:/data/dest
sending incremental file list
source/file1.txt
source/file2.txt

jakiś pomysł, dlaczego utknął na tych plikach? Próbowałem wymazać cały katalog docelowy i zacząć od nowa, ale bez powodzenia.

dzięki,


1
Czy zrobiłeś różnicę w plikach i sprawdziłeś wszystkie informacje na ich liście ls -l? Można je w zasadzie modyfikować w obu edn bez Twojej wiedzy, a może rsync nie pozostawia plików w odpowiednim stanie w miejscu docelowym.
Charles Stewart

Odpowiedzi:


9

Użyj, --itemize-changesaby uzyskać rsync, aby wyświetlał to, co faktycznie się zmienia

Odpowiedź od ire_and_cursesniezrozumiałego celu -tma na celu zachowanie czasów modyfikacji , a nie decydowanie o tym, czy przesłać pliki. Opcje, które określają, czy pomijać pliki, to: -cdecyduje, czy pomijać identyczne pliki na podstawie sumy kontrolnej, i -Iktóra ignoruje rozmiar i czas przy podejmowaniu decyzji o pomijaniu plików.

Ponadto, chociaż rsync może ponownie wysyłać pliki, nie powinno przesyłać całej zawartości - po uruchomieniu -vpowinno wydrukować podsumowanie, ile danych zostało dopasowanych w przesyłaniu.

Do sprawdzenia powinny pomóc:

  • md5sum plików na obu końcach - aby pokazać, czy zawartość się zmieniła
  • ls -l powinien pokazać, jeśli znaczniki czasu uległy zmianie.

5

Pamiętam podobny problem z zegarami dwóch systemów, które nie do końca się zachowują. Musiałem użyć --modify-window=60do wyjaśnienia „anomalii czasowych”.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.