Could server's support of RSync speed up backup process?
I have Synology 210j NAS, which supports rsync
, Currently this feature is disabled and I use the following code to backup data there from my Mac:
mkdir /Volumes/BackupTemp
mount -t smbfs //login:pass@192.168.xxx.xxx/backup /Volumes/BackupTemp
rsync -archive -backup --stats -h --exclude='.metadata/' --exclude='.Trash/' --exclude='*.pyc' /Users/me/Dev/ /Volumes/BackupTemp/MacBook/Work/
cp /Users/me/KeePass_db.kdbx /Volumes/BackupTemp/MacBook/
Есть Enable network backup service
вариант на NAS (который поддерживает rsync
). Я не понимаю - если я включу эту опцию, поможет ли мне как-то ускорить процесс резервного копирования? Какая разница, когда эта опция включена, а когда нет?
2 ответа
Когда вы используете rsync, как вы показали, все передачи файлов проходят через общую папку, и NAS ничего не знает об использовании rsync. Если вы включите протокол rsync, то, например, проверка изменений файлов, контрольных сумм и т. Д. Может выполняться на NAS, а не на вашем компьютере. Таким образом, вместо чтения файла из NAS и выполнения проверок, только простое "да, этот файл изменился" и / или контрольные суммы отправляются по проводам. Так что это будет намного быстрее, так как нужно будет пересылать меньше данных.
Вы можете легко проверить это, включив опцию сервера rsync и изменив командную строку rsync на использование протокола rsync, а не общего файлового ресурса.
Да, скорее всего, так и будет.
При использовании SMB (что на самом деле -t cifs
за последнее десятилетие) rsync работает так же, как и с локальными файлами. Если он видит, что большой файл отличается по времени модификации, он должен прочитать весь файл через SMB, чтобы определить, какие части нужно обновить.
С другой стороны, если он может общаться с другим rsync на другом устройстве, он может использовать эффективный протокол, чтобы определить, что именно он должен обновить и отправить необходимые блоки данных.
Тем не менее, я не уверен, нужна ли эта опция, если она включает режим "rsync". Запуск rsync через SSH был бы более безопасным, и он не требует явной активации, только специальный путь:
rsync -avz /Users/me/ 192.168.1.2:/backup/MacBook/