14

Можно ли с помощью rsync передать все файлы в каталоге, которые были изменены или были созданы? Мне не нужно что-то более сложное, чем проверка различий CRC файлы с разными временными метками и / или размерами файлов считаются изменениями.

Со страницы руководства у меня сложилось впечатление, что это возможно, но мне нужно небольшое руководство о том, какой набор параметров передать rsync .

2 ответа2

18

Чтобы просто синхронизировать две директории:

$ rsync /source/path/* /dest/path/

Или, если вы хотите сделать целое дерево:

$ rsync -a /source/path/ /dest/path/

«-a» указывает режим "архива", где он дублирует дерево настолько близко, насколько это возможно.

Мне нравится добавлять флаги v и P чтобы я мог посмотреть, как это работает:

$rsync -avP /source/path/ /dest/path/

«-v» включает подробный режим, так что вы можете видеть, что он делает (в нем перечислены файлы, которые они копируют), а «-P» включает прогресс, поэтому вы можете видеть, сколько времени занимает копирование каждого файла (процент копирования, оставшееся время и т. д.) и позволяет увидеть, насколько далеко вы проходите через копию.

13

Так работает rsync по умолчанию (по крайней мере, в Linux). Со страницы руководства:

Rsync находит файлы, которые необходимо передать, используя алгоритм "быстрой проверки" (по умолчанию), который ищет файлы, которые изменились в размере или в момент последнего изменения. Любые изменения в других сохраненных атрибутах (в соответствии с параметрами) вносятся в целевой файл непосредственно, когда быстрая проверка показывает, что данные файла не нуждаются в обновлении.

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