Купить Корзина
  • Облако и IT-инфраструктура
  • Домены и сайты
  • Вход
Получить консультацию

Ответим на вопросы, расскажем о конфигурациях, поможем с переносом, подберем оборудование, подготовим коммерческое предложение

Нажимая кнопку «Отправить» я даю согласие на обработку персональных данных и подтверждаю, что ознакомился с Политикой конфиденциальности

Персональный менеджер ответит на ваши вопросы и проведет через все этапы заключения договора: — подберет оборудование — сформирует коммерческое предложение — поможет с миграцией сервера к нам

Нажимая кнопку «Отправить» я даю согласие на обработку персональных данных и подтверждаю, что ознакомился с Политикой конфиденциальности

Или просто оставьте номер телефона, и мы перезвоним вам

  • Телефон в Москве

    +7 495 580-11-11
  • Бесплатный звонок по России

    8 800 555-34-78
  • Или обратитесь в наши офисы

    Региональные номера
    1. Документация
    2. Рег.облако
    3. Облачные серверы
    4. Работа с сервером
    5. Копирование и синхронизация данных с помощью rsync

    Копирование и синхронизация данных с помощью rsync

    rsync — это утилита для Unix-подобных систем. Она используется для эффективного копирования и синхронизации файлов и директорий.

    Преимущества

    — Работа по сети. rsync умеет копировать файлы между удаленными хостами поверх SSH, обеспечивая безопасность передаваемых данных;

    — сжатие трафика. Утилита поддерживает сжатие данных, что значительно ускоряет передачу больших объемов информации, особенно актуально для миграции проектов;

    — дельта-копирование. Копирует только изменившиеся части файлов, а не целые файлы. Это позволяет безопасно прерывать и докачивать данные при разрыве соединения. А также использовать повторный запуск команды для синхронизации оставшихся или измененных данных после первичного копирования;

    — сохранение атрибутов. Позволяет исключать ненужные директории, сохранять права доступа, временные метки и другие атрибуты файлов.

    Базовые сценарии использования

    Локальное копирование

    rsync может использоваться как более продвинутая замена cp, особенно когда нужно скопировать большой каталог с выводом прогресса или пропуском уже существующих файлов.

    # Простое копирование папки
    rsync -av /source/directory/ /backup/directory/

    Ключ -a (archive) сохраняет права, владельцев и symlink'и. Ключ -v (verbose) показывает подробный вывод.

    Копирование по сети (SSH)

    Для миграции данных между серверами используется передача по SSH. Это безопасно и не требует поднятия дополнительных демонов.

    Отправка файлов с локального сервера на удаленный:

    rsync -avz /local/path/ user@remote_ip:/remote/path/

    Ключ -z включает сжатие данных при передаче.

    Загрузка файлов с удаленного сервера на локальный:

    rsync -avz user@remote_ip:/remote/path/ /local/path/

    Миграция данных между серверами

    Для переноса данных с исходного сервера (src) на целевой сервер (dest) в Рег.облаке используется следующий подход.

    Шаг 1. Подготовка к миграции

    Убедитесь, что на целевом сервере запущен SSH и есть достаточно места для размещения данных.

    Шаг 2. Запуск копирования

    Для переноса всех данных с root-раздела исходного сервера (кроме системных директорий) воспользуйтесь командой:

    rsync -aAXvP /* root@dest_ip:/mnt/ --exclude={"/dev/*","/proc/*","/sys/*","/mnt/*"}
    Расшифровка ключей

    -a — режим архива (рекурсивное копирование с сохранением всех атрибутов);

    -A — сохранить списки контроля доступа (ACL);

    -X — сохранить расширенные атрибуты файлов (xattrs);

    -v — подробный вывод (verbose);

    -P — параметр, который объединяет —progress (показывать прогресс по каждому файлу) и —partial (оставлять частично перенесенные файлы, что позволяет докачать их при повторном запуске);

    --exclude — указываем, какие папки нужно исключить из копирования (виртуальные ФС и точка монтирования, куда копируем).

    Важные нюансы

    Горячий и холодный перенос

    Описанный выше способ (с запуском на работающей системе) называется горячим переносом. Он позволяет минимизировать простой, но некоторые данные могут не попасть в копию — файловые кэши, незакоммиченные транзакции БД, буферы ввода-вывода.

    Чтобы гарантировать целостность данных, после основного переноса рекомендуется:

    • 1

      Остановить сервисы на исходном сервере (веб-сервер, СУБД, приложения), не выключая саму ОС:

      #Пример остановки сервисов
      systemctl stop nginx
      systemctl stop apache2
      systemctl stop mysql
    • 2

      Запустить финальную синхронизацию той же командой rsync:

      rsync -aAXvP /* root@dest_ip:/mnt/ --exclude={"/dev/*","/proc/*","/sys/*","/mnt/*"}

    На этом этапе новые данные уже не поступают, и rsync перенесет всё, что изменилось или не успело записаться на диск при первом проходе. Такой подход называют холодным переносом — он дает 100% консистентную копию системы.

    Работа в Screen/Tmux

    Копирование больших объемов данных может занять часы. Чтобы процесс не прервался при закрытии SSH-сессии, запустите команду внутри сессии screen или tmux.

    # Создать сессию screen
    screen -S migration
    # Запустить rsync
    # Отключиться от сессии: Ctrl + A, затем D

    Копирование скрытых файлов

    При использовании в исходном пути звездочки (/*) оболочка (bash) может не подхватить файлы, начинающиеся с точки. Чтобы решить это, перед запуском rsync измените поведение bash с помощью dotglob.

    # Включить захват скрытых файлов
    shopt -s dotglob
    # Запустить команду rsync (как указано выше)
    # После завершения копирования вернуть стандартное поведение
    shopt -u dotglob

    Синхронизация изменений

    После того как основная масса данных скопирована, на исходном сервере могут продолжаться изменения (например, пишутся новые файлы).

    Чтобы перенести только изменившиеся данные, просто повторно запустите ту же команду rsync. Благодаря алгоритму дельта-копирования утилита быстро просканирует директории и передаст только отличающиеся части файлов.

    После завершения синхронизации проверьте целостность критически важных данных на целевом сервере (например, базы данных, конфигурации сайтов).

    Специальные предложения
    • Гранты для бизнеса до 500к
    • Скидки на cloud GPU до 50%
    • Скидки на bare-metal с А4000 и А5000
    • Кешбэк 100% на kubernetes
    Рассылка Рег.облака

    Лайфхаки, скидки и новости об IT

    Даю согласие на получение рекламных и информационных материалов

    Продукты и сервисы
    • Облачные серверы
    • Выделенные серверы
    • Базы данных
    • S3 хранилище
    • Кластеры Kubernetes
    • Cloud GPU
    • VPS
    Решения
    • Интернет-магазин в облаке
    • Разработка и тестирование в облаке
    • Удаленный рабочий стол
    • Работа с 1С
    • Корпоративное хранение данных
    • Искусственный интеллект и машинное обучение в облаке
    • Конфигуратор сервера
    • Администрирование серверов
    Техподдержка
    • Создать тикет
    • Документация
    Прочее
    • О компании
    • Партнерская программа
    • Гранты
    • Блог
    • Контакты
    • Отзывы клиентов
    • © ООО «РЕГ.РУ» Нашли опечатку?
      Выделите и нажмите Ctrl+Enter
    • Облачная платформа Рег.ру включена в реестр российского ПО Запись №23682 от 29.08.2024
      • Политика конфиденциальности
      • Политика обработки персональных данных
      • Правила применения рекомендательных технологий
    • 8 800 333-92-23

      Бесплатный звонок по России

      +7 (495) 009‑92‑22

      Телефон в Москве

      • telegram
      • vk
      • vkvideo
      • vcru
      • moikrug
      • rbc
    • Мы используем cookie и рекомендательные технологии для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера