4.22. Скачивание сайта с VPS
Скачать сайт с сервера можно несколькими способами:
- FTP — настройка на FTP-сервера и скачивание файлов на ПК.
- SFTP — скачивание файлов на ПК без дополнительных настроек.
- SCP — копирование файлов напрямую на другой сервер без скачивания файлов на ПК.
- rsync — копирование файлов напрямую на другой сервер без скачивания файлов на ПК.
Важные моменты:
- При работе с FTP или SFTP данные будут скачаны на устройство, тем самым есть вероятность повреждения файлов при переносе с устройства на устройство, так как может быть нарушена их целостность или кодировка, что в дальнейшем может привести к большим неудобствам.
- FTP работает быстрее, нежели SFTP или SCP (без сжатия). При передаче большого количества файлов он будет заметно быстрее загружать или скачивать данные.
- FTP менее безопасен, нежели SFTP, SCP или rsync. Крайне не рекомендуется его использовать в публичных сетях.
- SCP (используя сжатие) и rsync намного быстрее FTP или SFTP, так как данные переносятся напрямую между серверами без посредников. Такая передача более быстрая и более безопасная в плане целостности скопированных файлов.
- rsync в разы быстрее и более гибкий, нежели SCP, но он довольно сложен в создании команд и для повседневных задач стоит лучше использовать SCP.
Чтобы скачать файлы с помощью FTP, нужно настроить FTP-сервер на VPS. Для этого можно использовать, к примеру, ProFTPd:
- Установите ProFTPd на VPS.
- Подключитесь к серверу с помощью любого FTP-клиента, используя данные пользователя, настроенного в ProFTPd.
- Перейдите в каталог, где размещается сайт (чаще всего это будет каталог
/var/www/
). - Скачайте все файлы, которые требуется.
Чтобы скачать файлы с помощью SFTP, настройка отдельного сервера на VPS не требуется, достаточно выполнить следующее:
- Подключитесь к серверу с помощью любого FTP-клиента, поддерживающего SFTP, используя данные для подключения к SSH. При настройке подключения обязательно выбирайте протокол SFTP и порт
22
. - Перейдите в каталог, где размещается сайт (чаще всего это будет каталог
/var/www/
). - Скачайте все файлы, которые требуется.
Чтобы скопировать файлы с помощью SCP, выполните следующее:
- Подключитесь к серверу по SSH.
- Если копирование будет выполняться на сервера нашего хостинга, то добавьте в список разрешённых IPv4- и IPv6-адреса VPS. (Обновление списка разрешённых адресов может занимать до 30 минут.)
- Выполните команду копирования файлов рекурсивно:
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/
.
- После выполнения команды может быть запрошено добавление ключа «отпечатка» целевого сервера, введите
yes
. - После выполнения указанных ранее действий появится пустое поле с указанием «Password:», нужно указать пароль от пользователя SSH. Внимание! При вводе пароля или его вставке из буфера обмена символы не отображаются на экране.
- Если все действия были выполнены корректно, будет отображён список скопированных на другой сервер файлов. На этом процесс копирования уже завершен, стоит проверить скопированные файлы на новом сервере.
Чтобы скопировать файлы с помощью rsync, выполните следующее:
- Подключитесь к серверу по SSH.
- Если копирование будет выполняться на сервера нашего хостинга, то добавьте в список разрешённых IPv4- и IPv6-адреса VPS. (Обновление списка разрешённых адресов может занимать до 30 минут.)
- Выполните команду копирования файлов рекурсивно:
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/
.
- После выполнения команды может быть запрошено добавление ключа «отпечатка» целевого сервера, введите
yes
. - После выполнения указанных ранее действий появится пустое поле с указанием «Password:», нужно указать пароль от пользователя SSH. Внимание! При вводе пароля или его вставке из буфера обмена символы не отображаются на экране.
- Если все действия были выполнены корректно, будет отображён список скопированных на другой сервер файлов. На этом процесс копирования уже завершен, стоит проверить скопированные файлы на новом сервере.