Как `УПП` отличаются от `синхронизировать`?
статьи о настройка призрак блогов что надо использовать scp скопировать файл с моего локального компьютера на удаленный сервер:
scp -r ghost-0.3 root@*your-server-ip*:~/
однако, Railscast 339: Шеф-Повар Соло Основы использует scp для копирования в обратном направлении (с удаленного сервера на локальную машину):
scp -r root@178.xxx.xxx.xxx:/var/chef .
в том же Railscast, когда автор хочет скопировать файлы на удаленный сервер (в том же направлении, что и первый пример), он использует rsync:
rsync -r . root@178.xxx.xxx.xxx:/var/chef
зачем использовать rsync команда if scp копировать в обоих направлениях? Как это scp отличается от rsync?
7 ответов:
основное различие между этими инструментами состоит в том, как они копируют файлы.
scpв основном читает файл и записывает его в пункт назначения. Он выполняет простую линейную копию, локально или по сети.
rsyncтакже копирует файлы локально или по сети. Но он использует специальный алгоритм передачи Дельта и несколько оптимизаций, чтобы сделать работу намного быстрее. Рассмотрим вызов.rsync A host:B
rsyncпроверит размеры файлов и временные метки модификации обоих A и B, и пропустить любую дальнейшую обработку, если они совпадают.если файл назначения B уже существует, алгоритм Дельта передачи будет убедиться, что только различия между A и B отправляются по проводу.
rsyncбудет запись данных во временный файл T, а затем заменить целевой файл B С T чтобы обновление выглядело "атомарным" для процессов, которые могут использовать B.еще одно различие между ними касается вызова.
rsyncимеет огромное количество параметров командной строки, что позволяет пользователю точно настроить свое поведение. Он поддерживает сложные правила фильтрации, работает в пакетном режиме, режиме демона и т. д.scpтолько несколько переключателей.в общем, используйте
scpдля повседневных задач. Команды, которые вы вводите время от времени в своей интерактивной оболочке. Это проще в использовании, и в этих случаяхrsyncоптимизация не поможет.для повторяющихся задач, таких как
cronрабочих мест, использованиеrsync. Как уже упоминалось, при нескольких вызовах он будет использовать уже переданные данные, выполняя очень быстро и экономя ресурсы. Это отличный инструмент для хранения двух каталогов синхронизация по сети.кроме того, при работе с большими файлами, использовать
rsyncС . Если передача прервана, вы можете возобновить ее там, где она остановилась, повторно выпустив команду. Смотрите Сида кшатрия ответ.
rysnc может быть полезен для работы на медленных и ненадежных соединений. Поэтому, если ваша загрузка прерывается в середине большого файла, rysnc сможет продолжить с того места, где он остановился при повторном вызове.
использовать
rsync -vP username@host:/path/to/file .параметр-P сохраняет частично загруженные файлы, а также показывает прогресс.
как обычно проверить
man rsync
есть разница для меня, что
scpвсегда шифруется с помощью ssh (secure shell), в то время какrsyncНе обязательно шифроваться. Более конкретно,rsyncне выполняет никакого шифрования сам по себе; он по-прежнему способен использовать другие механизмы (например, ssh) для выполнения шифрования.помимо безопасности, шифрование также оказывает значительное влияние на скорость передачи данных, а также на нагрузку на процессор. (Мой опыт таков
rsyncможет быть значительно быстрее, чемscp.)зацените post, когда
rsyncшифрование на.
разница ч / б scp и rsync по разным параметрам
1. Производительность по задержке
scp: scp относительно меньше оптимизирует и скорость
rsync: rsync сравнительно больше оптимизирует и ускоряет
2. Обработка прерываний:
scp: инструмент командной строки scp не может возобновить прерванные загрузки из потерянных сетевых подключений
rsync: если выше сеанс rsync сам прерывается, вы можете возобновить его столько раз, сколько вы хотите, введя ту же команду. rsync автоматически перезапустит передачу там, где она осталась выключено.
http://ask.xmodulo.com/resume-large-scp-file-transfer-linux.html
3. Пример Команды
scp
$ scp source_file_path destination_file_path
rsync
$ cd / path/to / directory/of / partially_downloaded_file $ rsync-P --rsh=ssh userid@remotehost.com:bigdata.tgz ./ bigdata.tgz
в Параметр"- P "совпадает с параметром" --partial --progress", что позволяет rsync работать с частично загруженными файлами. Параметр "--rsh=ssh " указывает rsync использовать ssh в качестве удаленной оболочки.
SCP:
4. Безопасность :
scp более безопасен, но когда используется rsync --rsh=ssh, то rsync будет таким же безопасным
человек документ, чтобы узнать больше:
scp : http://www.manpagez.com/man/1/scp/
одна из основных особенностей rsync over scp (помимо Дельта-алгоритма) заключается в том, что он автоматически проверка Если переданный файл был передан правильно. Scp не будет этого делать, что иногда может привести к повреждению при передаче больших файлов. Так что в целом rsync-это копия с гарантией.
посмотреть (в CentOS) странице, обратите внимание, в конце
--checksumописание:обратите внимание, что rsync всегда проверяет, что каждый переданный файл правильно восстановлено на принимающей стороне путем проверки целого файла контрольная сумма, которая генерируется при передаче файла, но которая автоматическая проверка после передачи не имеет ничего общего с этим опция перед передачей "нужно ли обновлять этот файл?" проверять.
лучше думать в практическом контексте. В нашей команде, мы используем
rsync -aPчтобы заменить плохой хост cassandra в нашем кластере. Мы не можем сделать это с помощью scp (медленное и без сохранения прогресса).
scp лучше для один.
или сочетаниеtar& сжатия для небольших наборов данных как и деревья исходного кода с небольшими ресурсами ( ie: изображения, sqlite etc).
пока, когда вы начинаете иметь дело с больше объемы говорят:
- папки мультимедиа (40 ГБ)
- резервные копии базы данных (28 GB)
- MP3 библиотеки (100 ГБ)
это будет непрактично, чтобы построить zip / tar.ГЗ файл для передачи с scp в этот момент к физическая ограничения на хостинге.
в качестве упражнения, вы можете сделать некоторые гимнастика как трубопроводов
tarнаsshи перенаправление результатов в remote. (сохранение необходимости строить своп или временный клон ака zip или tar.gz),
rsync упростить этот процесс и позволяет передавать сведения без использования дополнительного дискового пространства.
и,
непрерывный (cron?) обновления используют минимальные изменения против полной скорости клонированных копий больших миграций данных с течением времени.
tl; dr
scp==небольшой масштаб (с возможностью создания сжатых файлов на одном диске)rsync==большой масштаб (С необходимостью резервного копирования больших объемов данных и не осталось)
