EIVUS

Server Migration Checklist

Plan, test, and cut over with minimal downtime.

Back to blog

Document current config, DNS, and dependencies. Replicate data to the new server and test the application. Schedule cutover during low traffic; update DNS and monitor. Keep the old server available for rollback.

Before migration

  • Document: OS, packages, app config, cron jobs, firewall rules, DNS records, and dependencies (DB, APIs, other servers).
  • Backup: Full backup of data and config from the current server; verify restore on a test system if possible.
  • New server: Provision with same or higher resources; install OS and stack; apply config (automate where possible).

Sync and test

  • Replicate data: Use rsync, DB replication, or provider migration tools to copy data to the new server. Keep in sync until cutover.
  • Test app: Run the application on the new server against copied data; test critical flows and integrations. Fix any config (paths, env vars, DB host).
  • DNS prep: Lower TTL on critical records (A, AAAA) a day or two before cutover so changes propagate quickly.

Cutover

  • Schedule: Pick a low-traffic window; announce maintenance if needed.
  • Final sync: Stop writes or do final incremental sync; switch app to read-only or brief downtime if required.
  • Switch DNS: Point domain to new server IP(s). Monitor errors and latency; have rollback plan (revert DNS to old server).

After cutover

  • Verify: Smoke tests, check logs, and monitor for a few hours. Keep old server running for at least 24–48 hours for rollback.
  • Decommission: Once stable, backup again from new server, then decommission old server and update docs.

Summary

Document everything; backup; replicate and test on new server; lower TTL; cut over in a maintenance window; switch DNS; verify and keep old server for rollback.

Clients who trust us