Migration
VPS migration checklist: move a server without losing the rollback path
A VPS migration checklist should describe the server as a set of services and state, not a disk image. The destination must reproduce networking, users, packages, application processes, data, scheduled jobs, DNS, certificates, and recovery behavior before public traffic moves.
Inventory services and dependencies
List listening ports, systemd units, containers, databases, users, cron/timers, firewall rules, mounts, attached storage, TLS certificates, DNS records, reverse DNS, external APIs, secrets, and outgoing mail identity. Record versions for anything with compatibility risk.
Find hard-coded IP addresses and provider-specific metadata before they silently fail at the destination.
Build the destination without changing traffic
Install the target operating system and packages, restore configuration and data, recreate users and keys, apply firewall policy, and test via a temporary hostname or hosts-file mapping. Verify application writes and background jobs, not only the homepage.
Keep the old VPS running while the new environment is still being proven.
Plan the final data synchronization
Databases, uploads, queues, and mail can change after the first copy. Decide on replication, a maintenance window, read-only mode, or a final sync so writes are not silently left behind.
Lower DNS TTL before cutover when appropriate, but remember TTL does not synchronize application data.
Cut over with rollback criteria
Change the minimum DNS or routing needed, monitor both environments, test from external networks, and keep the source until traffic, writes, scheduled jobs, and logs confirm the destination is healthy.
- Inventory all services and state.
- Test destination privately.
- Synchronize changing data.
- Retain source until verification.