VPS Hosting

VPS Migration Checklist: Move Your Site to a New VPS Without Downtime

A step‑by‑step checklist that helps small‑business owners migrate their website to a new VPS safely, keep data intact, and avoid service interruptions.

You're ready to upgrade or change your virtual private server (VPS) but the thought of downtime makes you nervous. The good news is that with a clear plan you can move your site, databases and email to a new VPS without losing visitors or data. This article gives you a concise VPS migration checklist, explains each step in plain English, and shows where you might need extra help or budget.

Why a Checklist Matters

VPS migration touches several independent pieces: the operating system, your web files, databases, DNS records, SSL certificates, and any scheduled jobs (cron). Missing one of them can cause a broken site, lost orders, or a security gap. A checklist keeps the process linear, lets you verify each item, and gives you a quick rollback option if something goes wrong.

Prerequisites Before You Start

  • Access to both servers. You need root or sudo access on the old VPS and admin access on the new one.
  • Current backups. A full file system backup and a separate database dump stored off‑site (e.g., cloud storage) give you a safety net.
  • Domain control. Ability to edit DNS records at your registrar or DNS provider.
  • Time window. Choose a low‑traffic period (often late night or early morning) to perform the final cut‑over.
  • Budget check. Verify that the new VPS plan covers the required CPU, RAM, storage and bandwidth, and understand any recurring fees for managed support.

Step‑by‑Step VPS Migration Checklist

  1. Document the current environment.
    • Operating system version (e.g., Ubuntu 22.04 LTS).
    • Installed web server (Apache, Nginx) and its version.
    • Database type and version (MySQL 8, PostgreSQL 13).
    • Any custom services (Redis, Node.js apps, cron jobs).
  2. Set up the new VPS.
    • Choose the same OS version to avoid compatibility surprises.
    • Install the same web server and required extensions.
    • Configure firewall (UFW, iptables) to allow HTTP/HTTPS and SSH only.
    • Test SSH connectivity and basic command execution.
  3. Transfer files securely.
    • Use rsync -avz --progress /var/www/ user@new-vps:/var/www/ to copy website files.
    • Preserve permissions and symbolic links with the -a flag.
  4. Export and import databases.
    • On the old VPS: mysqldump -u root -p yourdb > yourdb.sql (or pg_dump for PostgreSQL).
    • Transfer the dump file via scp or rsync.
    • On the new VPS: create the database and import with mysql -u root -p yourdb < yourdb.sql.
  5. Configure virtual hosts / server blocks.
    • Copy the Apache sites‑available or Nginx sites‑enabled files.
    • Update any absolute paths if they differ on the new server.
    • Test the configuration with apachectl configtest or nginx -t.
  6. Set up SSL certificates.
    • If you use Let’s Encrypt, install certbot on the new VPS and run the same domain validation commands.
    • If you have purchased certificates, copy the .crt and .key files and update the web server config.
  7. Test the new site on a temporary domain or IP.
    • Edit your local /etc/hosts file to point the domain to the new VPS IP.
    • Verify that pages load, forms submit, and dynamic content works.
  8. Plan DNS cut‑over.
    • Lower the TTL (time‑to‑live) of your A record to 300 seconds (5 minutes) at least 24 hours before migration. This speeds up propagation.
    • When ready, change the A record to the new VPS IP.
  9. Monitor after the switch.
    • Use uptime monitoring tools (UptimeRobot, Pingdom) to confirm the site stays reachable.
    • Check server logs for errors during the first few hours.
  10. Rollback plan (if needed).
    • If critical errors appear, revert the DNS A record to the old IP within the TTL window.
    • Keep the old VPS running for at least 24 hours as a safety net.

Realistic Example: Moving a Small Online Store

Ahmed runs a modest Shopify‑like store hosted on a 2 CPU, 4 GB RAM VPS in Pakistan. Traffic peaks at 150 visits per hour, and he needs more RAM for a new product‑recommendation script. He chooses a 4 CPU, 8 GB RAM managed VPS from Nextpath.

What he does:

  1. Creates a full snapshot of the current server using tar -czpf backup.tar.gz /var/www /etc and stores it in Google Drive.
  2. Sets up the new VPS with Ubuntu 22.04, installs Nginx, PHP‑8.1, and MySQL‑8.
  3. Runs rsync -avz /var/www/ root@new-vps:/var/www/ and copies the backup.sql dump.
  4. Imports the database, configures Nginx server blocks, and obtains a new Let’s Encrypt certificate.
  5. Tests the site locally by mapping myshop.com to the new IP in his laptop’s hosts file.
  6. Reduces the DNS TTL to 300 seconds, waits 24 h, then updates the A record to the new IP.
  7. Monitors for 48 hours; no errors appear, and page load time improves by ~30 %.

Because the old VPS stayed online for a day, Ahmed could instantly revert if the new server had mis‑configured the payment gateway. He also opted for the managed support tier, which covers OS updates and firewall patches, reducing his weekly maintenance load.

Common Mistakes & How to Fix Them

  • Skipping the backup. If a transfer fails, you lose data. Always keep an off‑site copy before you start.
  • Changing DNS without lowering TTL. Users may see the old site for up to 24 hours, causing duplicate orders. Reduce TTL at least a day ahead.
  • Copying files with the wrong permissions. Web server may return 403 errors. Verify chmod and chown after rsync.
  • Forgetting scheduled jobs. Cron jobs that send newsletters or clean logs stop working. Export crontab -l from the old server and import it.
  • Overlooking SSL renewal. Let’s Encrypt certificates expire every 90 days. Set up a renewal cron job on the new VPS (certbot renew --quiet).

Quick Migration Checklist

  • ☐ Verify root/SSH access on both servers.
  • ☐ Create full file system backup and store off‑site.
  • ☐ Dump all databases and secure the dump files.
  • ☐ Install matching OS and software on the new VPS.
  • ☐ Transfer website files with rsync.
  • ☐ Import databases and test connections.
  • ☐ Replicate virtual host / server block configs.
  • ☐ Install or copy SSL certificates.
  • ☐ Test the site using a local hosts file entry.
  • ☐ Reduce DNS TTL to ≤300 seconds (24 h before cut‑over).
  • ☐ Update DNS A record to new IP.
  • ☐ Monitor uptime and logs for 24–48 hours.
  • ☐ Keep old VPS running for a rollback period.

When to Call a Professional

If any of the following apply, consider hiring a managed VPS specialist or a Nextpath support engineer:

  • Complex multi‑server architecture (load balancers, separate DB servers).
  • Custom firewall rules or VPN tunnels that need replication.
  • Limited time window (e.g., a flash sale) where any downtime costs revenue.
  • Uncertainty about OS version compatibility or required software libraries.

Professional help can reduce risk, handle the rollback plan, and ensure that recurring fees for managed support are clearly understood.

Next Steps

Now that you have a concrete VPS migration checklist, take these immediate actions:

  1. Schedule a low‑traffic window for the migration.
  2. Create the off‑site backups described above.
  3. Review your current VPS plan’s resources and compare them with the target plan’s specifications and recurring fees.
  4. If you need a VPS that matches your workload, review our VPS plans and discuss your needs. Let us know your current hosting, management requirements and any bottlenecks you’ve observed.

Following this checklist will give you confidence that your site moves smoothly, stays secure, and continues to serve customers without interruption.