2

Мне было интересно, если есть какой-либо метод синхронизации, который не копирует файлы, если они уже находятся в папке назначения.

Позволь мне объяснить:

Я сделал несколько фотографий и положил их в папку на своем ноутбуке. Чтобы создать их резервные копии на моем сервере Ubuntu, я просто запустил rsync -vrutP source des/ti/na/tion/ . Затем я решил поместить все RAW в подпапку на моем ноутбуке (source/RAW), а JPG - в другую подпапку (source/JPG).

Теперь, если я хочу отразить это на сервере, я должен запустить rsync -vrutP --delete source/ des/ti/na/tion/ но если я сделаю это, все мои файлы будут удалены с сервера, а затем скопированы из мой ноутбук на сервер. У меня есть несколько гигабайт картинок, и это не проблема, если у меня есть время ждать и соединение Ethernet, а не WiFi.

Но разве не было бы НАМНОГО быстрее, даже если требовалось бы гораздо больше ресурсов ЦП, если бы существовала команда, которая сравнивала файлы в корневой папке "источник" и применяла только разность положений между источником и местом назначения? Для перечисления всех файлов потребовалось бы больше ресурсов ЦП, но мне почти не требовалась пропускная способность для передачи файлов, которые мне на самом деле не нужны для передачи, потому что они уже находятся в месте назначения, если событие находится в другом месте. Конечно, обязательной функцией будет дельта-синхронизация, которая также обнаружит, точно ли существующие (но перемещенные) файлы совпадают с файлами в исходной папке.

Я знал о программном обеспечении, делающем это (Syncovery, Goodsync), но на самом деле я хотел знать, есть ли какая-либо команда, делающая это в Linux и в Windows.

1 ответ1

0

С одной стороны, да ... потому что вы находитесь в очень конкретном случае использования. С другой стороны, перемещение или переименование файлов в Linux - это то же самое. И чтобы выяснить, был ли файл в источнике только что переименован, система должна сравнить его (или его хэш) со всеми файлами в резервной копии, и, следовательно, должна будет прочитать все файлы в резервной копии, чтобы вычислить их хэш ... это займет очень много времени, если хэши не будут храниться в сторонней базе данных. Есть системы хранения, которые делают это ... но не ваши простые файловые системы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .