Системный журнал — практичная база знаний по VPS и Linux
VPS • миграция • перенос

Переезд VPS на новый сервер без лишних проблем

Переезд VPS — это не просто скопировать /var/www. Нужно перенести данные, базы, конфиги, службы, cron, сертификаты, firewall и проверить, что всё работает на новом сервере.

Сделайте инвентаризацию

Перед переносом нужно понять, что работает на старом сервере. Иначе часть сервисов будет забыта.

ss -tulpn
systemctl --type=service --state=running
crontab -l
ls -la /etc/nginx/sites-enabled /etc/nginx/conf.d 2>/dev/null

Перенесите файлы

Для файлов удобно использовать rsync. Он сохраняет права, копирует только изменения и подходит для повторной финальной синхронизации.

rsync -aHAX --numeric-ids /var/www/ root@NEW_IP:/var/www/

Перенесите базы данных

Базы лучше переносить дампом. Для MySQL/MariaDB и PostgreSQL используются разные инструменты.

mysqldump -u root -p dbname > dbname.sql
pg_dump dbname > dbname.sql

Nginx и сертификаты

Конфиги nginx нужно перенести и проверить на новом сервере до переключения DNS. Пути к сертификатам и root-каталогам могут отличаться.

nginx -t

Docker и volumes

Если сервисы работают в Docker, переносите compose-файлы, .env и volumes. Без volumes контейнеры запустятся пустыми.

  • docker-compose.yml;
  • .env;
  • bind-mounted каталоги;
  • named volumes;
  • данные баз.

DNS и TTL

Перед переездом лучше заранее снизить TTL DNS-записей. Тогда переключение на новый IP пройдёт быстрее.

Старый сервер не удаляйте сразу. Дайте DNS-кэшу обновиться и оставьте возможность отката.

Проверка после переноса

  • главная страница открывается;
  • формы работают;
  • авторизация работает;
  • cron выполняется;
  • логи без критических ошибок;
  • резервная копия создана уже на новом сервере.