Как перенести данные с одного VPS на другой без остановки работы сервера
Перенос данных без прерывания работы сервера
🔹 Зачем это нужно
Перенос данных может понадобиться, если:
- вы переходите на новый тариф или хостинг;
- требуется более современная ОС или больше ресурсов;
- нужно сменить дата-центр или страну размещения;
- проводится обновление инфраструктуры без простоя сервиса.
Главная цель — сделать миграцию без остановки работы сайта или приложения.
⚙️ 1. Подготовка
1. Создайте новый VPS — желательно с той же ОС.
2. Проверьте доступы:
- SSH-доступ к обоим серверам
- права root
- открыт порт 22
3. Обновите систему: sudo apt update && sudo apt upgrade -y
4. Убедитесь, что на новом VPS достаточно свободного места для копий.
📦 2. Перенос файлов и баз данных
🔸 Вариант 1: rsync (рекомендуется)
rsync -avz -e ssh /var/www/ root@NEW_SERVER_IP:/var/www/
- -a — сохраняет права и владельцев
- -v — показывает процесс
- -z — сжимает данные
После первого копирования можно запустить команду повторно перед сменой DNS — rsync скопирует только изменения.
🔸 Вариант 2: tar + scptar czf backup.tar.gz /var/www/
scp backup.tar.gz root@NEW_SERVER_IP:/root/
На новом VPS:
tar xzf backup.tar.gz -C /
🔸 Вариант 3: перенос базы данных (MySQL / MariaDB)
На старом VPS:
mysqldump -u root -p database_name > backup.sql
scp backup.sql root@NEW_SERVER_IP:/root/
На новом VPS:
mysql -u root -p database_name < /root/backup.sql
🌐 3. Проверка работы на новом VPS
Перед изменением DNS добавьте строку в файл /etc/hosts на локальном ПК:
NEW_SERVER_IP yourdomain.com
Теперь сайт будет открываться с нового сервера, не дожидаясь обновления DNS.
🔄 4. Переключение DNS без простоя
- Заранее уменьшите TTL записей DNS до 300 секунд.
- После проверки работы нового VPS измените A-запись домена на новый IP.
- В течение 5–30 минут часть пользователей может попадать на старый сервер.
Чтобы не потерять данные, выполните rsync повторно после обновления DNS.
🧱 5. Завершающие действия
- Проверьте, что сделаны резервные копии.
- Удалите временные файлы (backup.tar.gz, backup.sql).
- Обновите SSL-сертификат, если он был привязан к IP.
- При необходимости расширьте диск и настройте автоматический бэкап.
🧩 6. Полезные советы
- Для проектов на WordPress, Laravel, Docker — используйте rsync + mysqldump или экспорт томов Docker.
- Можно временно настроить reverse proxy на старом VPS для плавного перехода.
- Используйте SSH-ключи для удобной и безопасной передачи без паролей.