Как `УПП` отличаются от `синхронизировать`?
статьи о настройка призрак блогов что надо использовать 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
==большой масштаб (С необходимостью резервного копирования больших объемов данных и не осталось)