3

Я копирую файлы на удаленный общий ресурс webdav. Я использую rsync, чтобы он был как минимум инкрементным. Однако это не очень быстро, поэтому мне интересно, правильно ли я его настроил.

Будет ли следующая команда делать инкрементное резервное копирование, если она будет выполняться несколько раз?

# Backup
sudo rsync -av --delete --progress \
--exclude '*@SynoResource' --exclude '@eaDir' \
--exclude '.TemporaryItems' \
--exclude '*.vsmeta' --exclude '.DS_Store' \
/mnt/configs/ /mnt/remote/configs

Если да, то как я могу ускорить его в противном случае?

2 ответа2

1

В этой команде и источник, и цель являются "локальными" для rsync . Это становится действительно быстрым, только если цель доступна по протоколу rsync или ssh , например

rsync -av /my/local/dir root@somehost:/my/remote/dir

В этом случае rsync вызовет процесс rsync на somehost и получит доступ к файлам в целевом каталоге локально (быстро, а не по сети).

В вашей конфигурации rsync будет читать файлы из конфигураций локально и читать файлы в /mnt/remote/configs через сеть. Чтобы сравнить содержимое, ему нужно будет прочитать все файлы и хэшировать содержимое по блокам, чтобы не было реального выигрыша в скорости.

Это помогает?

0

Да, я верю, что ваша команда достигнет того, к чему вы стремитесь.

Поскольку вы используете как подробный режим, так и параметр прогресса, можете ли вы указать, где происходит задержка? Если задержка наступает до начала передачи файлов, это, вероятно, связано со всеми индексированными файлами для сравнения, особенно если файлов много или они имеют большой размер.

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

Обратите внимание, что некоторые типы файлов (особенно сжатые файлы, такие как jpegs и MP3) не очень хорошо подходят для синхронизации, так как небольшое изменение в файле изменит макет всего файла, а это означает, что почти весь файл потребуется снова синхронизировать.

Совет по улучшению скорости синхронизации в зависимости от характера ваших данных и видов изменений будет заключаться в использовании нечеткой опции (-y) в сочетании с --delete-after. Затем, если вы переименуете или скопируете файл, а не тот файл, который нужно синхронизировать целиком (как новый файл), rsync будет использовать файл, уже присутствующий в месте назначения, для создания нового файла.

Rsync не работает идеально с некоторыми файловыми системами. Например, значения mtimes в FAT32 точны только до +/- 2 секунд, поэтому rsync может запустить синхронизацию файла, который на самом деле не новее исходного, даже если кажется, что он есть. В некоторых случаях вы можете использовать аргументы --size и --modify-window, чтобы rsync игнорировал расхождения между временами модификации файла.

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