zmusza rsync do nadpisywania plików w miejscu docelowym, nawet jeśli są one nowsze

43

Mam uruchamiany skrypt kopii zapasowej rsync, który również przywraca pliki, skąd pochodzą, kiedy o to pytam. Ale jeśli pliki w miejscu docelowym są nowsze niż te w kopii zapasowej, gdy próbuję je przywrócić, nie zastąpi ich. Naprawdę chcę zastąpić nowsze pliki tymi z kopii zapasowej, ale nie widzę sposobu, aby rsync to zrobił.

tldr: czy istnieje sposób zmuszenia rsync do zastąpienia plików w miejscu docelowym?

edytuj: Uruchomiłem rsync -avhpKiedy chcę przywrócić kopię zapasową, używam tego samego polecenia z zamienionymi „do” i „z”. Próbuje więc skopiować pliki z dysku kopii zapasowej do miejsca na moim komputerze, do którego należą.

jedipixel
źródło
14
rsynczawsze nadpisuje pliki w miejscu docelowym, chyba że powiesz mu, aby tego nie robić (opcja -u, --update). Sprawdź argumenty wiersza poleceń.
scai
Czy możesz udostępnić swoje rzeczywiste polecenie rsync? Rsync nadpisze starsze pliki nowszymi, więc najprawdopodobniej porównujesz pliki według znacznika czasu, a daty między dwoma komputerami są nieco nie do zniesienia.
slm
Próbowałem użyć touchplików, które chcę zastąpić, „starszych” niż moja kopia zapasowa, ale nadal nie zastępuje istniejących w moim folderze domowym.
jedipixel
Może „-I --modify-window = 999999999” działa dla Ciebie?
jelle foks,

Odpowiedzi:

47

Instrukcja mówi:

-I, --ignore-times   don't skip files that match size and time

Więcej informacji:

-I, --ignore-times

Zwykle rsync pomija wszystkie pliki, które są już tego samego rozmiaru i mają ten sam znacznik czasu modyfikacji. Ta opcja wyłącza to zachowanie „szybkiego sprawdzania”, powodując aktualizację wszystkich plików.

Promień
źródło