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. Якщо всі дії були виконані коректно, буде відображено список скопійованих на інший сервер файлів. На цьому процес копіювання вже завершено, варто перевірити скопійовані файли на новому сервері.
Зміст