До сих пор я использовал FTP для подключения к серверу и копирования файлов на мою локальную машину, но за последние несколько недель каталог увеличился на 3 ГБ, и обычно копирование 100 МБ занимает 40 минут, поэтому FTP больше не подходит для этого.
Каков самый быстрый способ перенести каталог со всеми подкаталогами с удаленного сервера Linux на локальный компьютер с Windows 7. У меня есть ssh и root-доступ к серверу
Ответ. Я следовал руководству из верхнего ответа, и он отлично сработал. Я убедился, что на сервере установлен rsync, а затем установил rsync для cygwin. Затем я использовал команду для синхронизации содержимого папки apache www с моим диском c в Windows 7
мой выбор был установка cygwin
с участием rsync/ssh
и запустите команду rsync.
Также в моем случае я включил cronjob с cygwin и запустил эту синхронизацию в ночное время / в выходные дни, где я делаю резервную копию другим способом, то есть данными сервера Windows в Linux.
Я бы создал общий ресурс CIFS в Windows и смонтировал его на сервере Linux.
Затем вы можете использовать rsync
или что-то вроде rsnapshot
.
Это в значительной степени зависит от того, хотите ли вы / нужно ли загружать полную копию ваших данных в виде одноразовых снимков; или если ваши потребности могут быть удовлетворены с помощью решения, которое позволяет вам скачивать изменения / дельты постепенно.
Если вам нужна полная копия каждый раз при загрузке данных; вы можете получить большую выгоду, если сначала создадите один сжатый архив на сервере и загрузите его вместо рекурсивной загрузки каталогов и их содержимого.
Архивы созданы с zip
на сервере Linux изначально поддерживаются в самых последних версиях Windows, насколько мне известно. Альтернативные алгоритмы сжатия могут улучшить степень сжатия. Даже если данные уже сжаты в исходном виде (например, в большинстве аудио- и видеокодеков), что частично сводит на нет это преимущество, один архив по-прежнему более эффективен для загрузки, чем множество отдельных файлов.
Все, что позволит вам просто загружать новые и измененные файлы, сэкономит много времени на передачу (хотя при большом количестве (очень маленьких) файлов создание и сравнение списка файлов также может занять много времени). Я видел FTP-клиентов, у которых есть опция зеркала, которая передает только дельты, что вносит минимальные изменения в вашу текущую схему.
rsync
является протоколом по умолчанию и наиболее часто используемым инструментом в большинстве стран мира UNIX для сохранения двух местоположений, синхронизированных и зеркальных, путем передачи только дельт, файлов, которые были изменены, созданы или удалены. Как более старый протокол, он не имеет собственного шифрования и передает данные и учетные данные в виде открытого текста, поэтому в большинстве случаев вы увидите, что он туннелируется через SSH. Существуют клиенты Windows, которые выполняют rsync (через SSH).
Рекомендации по конкретным продуктам остаются вне темы.
rsnapshot - отличный инструмент для создания нескольких снимков, он копирует только те файлы, которые были изменены, и имеет функцию жесткой привязки файлов, уже находящихся на диске, поэтому каждая папка является полной копией сервера. Не уверен, что он может делать жесткие ссылки в Windows, но вы всегда можете установить виртуальный бокс с системой Linux на нем.
Также многие хостеры предлагают записать DVD с вашими данными и отправить их вам за определенную плату, поэтому вам не нужно тратить полосу пропускания, если это проблема.
вы также можете установить и настроить samba на вашем хосте Linux и использовать robocopy с хоста Windows для получения файлов. Вам не нужно присоединять хост linux к домену Windows, вы можете использовать его в режиме рабочей группы.
Поделитесь папками Linux на общем SMB-ресурсе, загрузите Microsoft Richcopy.
Что вас больше всего поразит, когда вы впервые попробуете RichCopy, так это то, что это инструмент многопоточного копирования. Это означает, что вместо того, чтобы копировать один файл за раз в последовательном порядке, RichCopy может одновременно открывать несколько потоков, позволяя копировать множество файлов параллельно и сокращая общее время, необходимое для выполнения операции в несколько раз. Вы также можете приостанавливать и возобновлять операции копирования файлов, поэтому, если вы потеряете подключение к сети в любой момент, вы можете просто продолжить с того места, где остановились.