примушуйте rsync перезаписувати файли за призначенням, навіть якщо вони новіші


43

У мене є запуск сценарію резервного копіювання rsync, який також відновлює файли, звідки вони з'явилися, коли я запитую. Але якщо файли в пункті призначення новіші, ніж файли в резервній копії, коли я намагаюся відновити, він не замінить їх. Я дуже хочу замінити новіші файли на ті, які є в резервній копії, але я не бачу способу змусити rsync зробити це.

tldr: чи є спосіб змусити rsync перезаписати файли в пункті призначення?

редагувати: я запускався rsync -avhpКоли я хочу відновити резервну копію, я використовую ту саму команду з обміном "на" та "з". Тому він намагається скопіювати файли з резервного диска на те місце, де вони належать.


14
rsyncзавжди буде перезаписувати файли в пункті призначення, якщо ви не скажете це робити цього (опція -u, --update). Перевірте аргументи командного рядка.
scai

Чи можете ви поділитися своєю фактичною командою rsync? Rsync замінить старіші файли новими, тому ви, швидше за все, порівнюєте файли за часовою позначкою, а дати між двома комп’ютерами трохи не збиті.
slm

Я намагався використовувати touchфайли, які я хочу замінити "старішими", ніж резервна копія, але це все ще не замінює існуючі в моїй домашній папці.
jedipixel

Можливо, '-I --modify-window = 999999999' працює для вас?
jelle foks

Відповіді:


47

Посібник говорить:

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

З більш детальною інформацією:

-I, --ignore-times

Зазвичай rsync пропускає будь-які файли, які вже мають однаковий розмір і мають однакову часову позначку модифікації. Ця опція вимикає цю поведінку "швидкої перевірки", внаслідок чого всі файли оновлюються.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.