Если набор файлов (по несколько ГБ каждый) и каждый немного меняется каждый день (в случайных местах, а не только информация, добавляемая в конце), как это может быть эффективно скопировано? Я имею в виду, в том смысле, что обновляются только измененные части, а не целые файлы. Это будет означать разницу между копированием нескольких килобайт здесь и там или нескольких гигабайт.
9
diff
что сделает этоdiff
может сообщать о различиях, но здесь проблема заключается в копировании небольших различий.rsync
лучшеОтветы:
Программа rsync делает именно это. Со страницы руководства:
источник
rsync
сравнивать куски файлов, используя скользящие контрольные суммы.rsync -av --progress --partial --inplace arch-test1.qcow2.bak arch-test1.qcow2
Возможно, вам нужна современная программа резервного копирования с дедупликацией. Проверьте BorgBackup .
Это создаст несколько резервных копий для каждой версии вашего большого файла, но будет распределять общий контент между различными версиями, поэтому общее пространство, используемое для данной версии вашего большого файла, будет лишь немного больше, чем общее дисковое пространство для одного версия, при условии, что разные версии отличаются незначительно.
источник
Если вы каким-либо образом ограничены IO, используйте файловую систему, такую как BTRFS или ZFS, которая напрямую поддерживает инкрементное резервное копирование без необходимости искать различия в файлах, например, что
rsync
нужно делать.Использование
rsync
будет медленным и очень интенсивным вводом-выводом.Потому что, если какое-либо приложение записывает изменения в файлы, каким-либо образом ограничено вводом-выводом, использование
rsync
отнимет у приложения значительные циклы ввода-вывода, и именно поэтому файлы существуют. И если ваш процесс или система резервного копирования ограничены вводом-выводом,rsync
это приведет к сокращению циклов ввода-вывода от доступной пропускной способности резервного копирования.Просто гугл "rsync медленный". Например: rsync очень медленный (фактор от 8 до 10) по сравнению с cp при копировании файлов из nfs-share в локальный каталог
источник