Возможно ли перенести rsync
все файлы в каталоге, которые были изменены или созданы? Мне не нужно что-то столь сложное, как проверка CRC diff; файлы с разными временными метками и/или размерами файлов считаются изменениями.
Из страницы руководства у меня сложилось впечатление, что это возможно, но мне нужно небольшое руководство по тому, какой набор параметров передавать rsync
.
решение1
Чтобы просто синхронизировать два каталога:
$ rsync /source/path/* /dest/path/
Или если вы хотите сделать целое дерево:
$ rsync -a /source/path/ /dest/path/
«-a» указывает режим «архив», в котором дерево дублируется настолько точно, насколько это возможно.
Мне нравится добавлять флаги v
, P
чтобы можно было посмотреть, как это работает:
$rsync -avP /source/path/ /dest/path/
«-v» включает подробный режим, так что вы можете видеть, что он делает (он перечисляет файлы по мере их копирования), а «-P» включает ход выполнения, так что вы можете видеть, сколько времени занимает копирование каждого файла (процент скопированного файла, оставшееся время и т. д.), а также позволяет вам видеть, на каком этапе копирования вы находитесь.
решение2
Вот как это rsync
работает по умолчанию (по крайней мере в Linux).страница руководства:
Rsync находит файлы, которые необходимо перенести, используя алгоритм "быстрой проверки" (по умолчанию), который ищет файлы, которые изменились по размеру или по времени последнего изменения. Любые изменения в других сохраненных атрибутах (по запросу параметров) производятся непосредственно в файле назначения, когда быстрая проверка показывает, что данные файла не нуждаются в обновлении.