5.23. Скачивание сайта с VPS

Скачать сайт с сервера можно несколькими способами:

  • FTP — настройка FTP-сервера и скачивание файлов на ПК.
  • SFTP — скачивание файлов на ПК без дополнительных настроек.
  • SCP — копирование файлов напрямую на другой сервер без скачивания файлов на ПК.
  • rsync — копирование файлов напрямую на другой сервер без скачивания файлов на ПК.

Важные моменты:

  • При работе с FTP или SFTP данные будут скачаны на устройство, тем самым есть вероятность повреждения файлов при переносе с устройства на устройство, так как может быть нарушена их целостность или кодировка, что в дальнейшем может привести к большим неудобствам.
  • FTP работает быстрее, чем SFTP или SCP (без сжатия). При передаче большого количества файлов он будет заметно быстрее загружать или скачивать данные.
  • FTP менее безопасен, чем SFTP, SCP или rsync. Крайне не рекомендуется его использовать в публичных сетях.
  • SCP (со сжатием) и rsync намного быстрее FTP или SFTP, так как данные переносятся напрямую между серверами без посредников. Такая передача более быстрая и более безопасная в плане целостности скопированных файлов.
  • rsync в разы быстрее и более гибкий, чем SCP, но он довольно сложен в создании команд и для повседневных задач проще использовать SCP.
  1. Подключитесь к серверу с помощью любого FTP-клиента, используя данные пользователя, настроенного в ProFTPd.
  2. Перейдите в каталог, где размещается сайт (чаще всего это будет каталог /var/www/).
  3. Скачайте нужные файлы.
  1. Подключитесь к серверу с помощью любого FTP-клиента, поддерживающего SFTP, используя данные для подключения к SSH. При настройке подключения обязательно выбирайте протокол SFTP и порт 22.
  2. Перейдите в каталог, где размещается сайт (чаще всего это будет каталог /var/www/).
  3. Скачайте нужные файлы.
  1. Подключитесь к серверу по SSH.
  2. Выполните команду копирования файлов рекурсивно:
    scp -rC /var/www/example.com/* user@example.ftp.tools:~/example.com/

    Описание команды:

    • -r — копирование файлов рекурсивно в указанном каталоге, то есть будут скопированы все файлы и подкаталоги.
    • -C — использование сжатия для копирования. Ускоряет процесс копирования за счёт минимизации трафика. Если возникают проблемы с файлами после копирования, то его не стоит использовать.
    • /var/www/example.com/ — каталог, который нужно скопировать. Обратите внимание, что в конце пути нужно обязательно указывать /* для копирования файлов без создания каталога example.com. На новый сервер будет скопировано всё содержимое каталога example.com.
    • user@example.ftp.tools:~/example.com/ — нужно указать данные для подключения по SSH и целевой каталог, куда будут скопированы данные:
      • user — пользователь SSH.
      • example.ftp.tools — сервер для подключения по SSH.
      • ~/example.com/ — целевой каталог, в который будут скопированы данные. Важно учесть, что ~/ указывает на стандартное размещение каталога пользователя, то есть является аналогом /home/example/.
    1. После выполнения команды может быть запрошено добавление ключа «отпечатка» целевого сервера, введите yes.
    2. После выполнения указанных ранее действий появится пустое поле с указанием «Password:», нужно указать пароль от пользователя SSH. Внимание! При вводе пароля или его вставке из буфера обмена символы не отображаются на экране.
    3. Если все действия были выполнены корректно, будет отображён список скопированных на другой сервер файлов. На этом процесс копирования уже завершен, стоит проверить скопированные файлы на новом сервере.
  1. Подключитесь к серверу по SSH.
  2. Выполните команду копирования файлов рекурсивно:
    rsync -rvz /var/www/example.com/* user@example.ftp.tools:~/example.com/

    Описание команды:

    • -r — копирование файлов рекурсивно в указанном каталоге, то есть будут скопированы все файлы и подкаталоги.
    • -v — подробный вывод всех действий при копировании.
    • -z — использование сжатия для копирования. Ускоряет процесс копирования за счёт минимизации трафика. Если возникают проблемы с файлами после копирования, то его не стоит использовать.
    • /var/www/example.com/* — каталог, который нужно скопировать. Обратите внимание, что в конце пути нужно обязательно указывать /* для копирования файлов без создания каталога example.com. На новый сервер будет скопировано всё содержимое каталога example.com.
    • user@example.ftp.tools:~/example.com/ — нужно указать данные для подключения по SSH и целевой каталог, куда будут скопированы данные:
      • user — пользователь SSH.
      • example.ftp.tools — сервер для подключения по SSH.
      • ~/example.com/ — целевой каталог, в который будут скопированы данные. Важно учесть, что ~/ указывает на стандартное размещение каталога пользователя, то есть является аналогом /home/example/.
    1. После выполнения команды может быть запрошено добавление ключа «отпечатка» целевого сервера, введите yes.
    2. После выполнения указанных ранее действий появится пустое поле с указанием «Password:», нужно указать пароль от пользователя SSH. Внимание! При вводе пароля или его вставке из буфера обмена символы не отображаются на экране.
    3. Если все действия были выполнены корректно, будет отображён список скопированных на другой сервер файлов. На этом процесс копирования уже завершен, стоит проверить скопированные файлы на новом сервере.
Содержание