Я читал, что rsync не может обнаружить перемещенные папки и просто удаляет их и копирует заново в новую структуру папок.
Поскольку единственное изменение, которое я внес в свою основную копию, — это простое введение верхней папки для хранения моих исходных файлов, а именно:
folder1
folder2
folder3
в
top\folder1
top\folder2
top\folder3
Мне было интересно, можно ли сделать то же самое вручную в моей резервной копии, как-то исправить время модификации обеих верхних папок, чтобы последующие вызовы rsync выполнялись нормально.
Будет ли это работать? Если да, то как? Если нет, то какой рекомендуемый способ решения этой проблемы? Или мне следует изначально запустить rsync с другими параметрами? (вместо того, rsync -a --delete /mnt/SRC /mnt/DEST
что я сейчас использую)
Каталоги довольно большие, поэтому я хотел бы по возможности избежать ненужного повторного копирования.
решение1
Да, вы можете вручную переместить резервную копию, а затем запустить rsync. Вам не нужно менять время модификации; просто позвольте rsync сделать это.
Такое переименование трудно обнаружить автоматически, поэтому обычным решением является его ручное дублирование.
решение2
Если вы перемещаетесь, вам не придется вручную обновлять время модификации файлов.
Если вас не особо волнует зеркалирование новой структуры каталогов, а нужны только файлы, вы также можете rsync --(options) /mnt/SRC/newdir/ /mnt/DEST. Обратите внимание на дополнительный слеш на стороне SRC, иначе вам придется копировать все заново.
решение3
Предложенное решениездесьсделал свое дело:
rsync -vrt --size-only /src/ /dest/
Параметр --size-only rsync
игнорирует временные метки, а -t (сохранить время изменения) заставляет rsync
исправить любые несоответствующие времена изменения в целевой копии.