Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk11 min

How to Migrate a Linux Server to a New VPS Step by Step

A practical, provider-neutral Linux VPS migration runbook covering inventory, DNS TTL, staged rsync, database dumps, private testing, final cutover, monitoring and rollback.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The safest Linux VPS migration is a rehearsed, side-by-side cutover: inventory the old server, build and harden the replacement, copy files in stages, move the database with database-aware tools, test the new address privately, freeze writes for a final synchronization, then change DNS and keep the old VPS ready for rollback.

There is no universal downtime number. The maintenance window depends on database size, write volume, replication design, application behavior and DNS caching. The procedure below minimizes avoidable downtime without pretending DNS changes are instantaneous.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Plan the migration as a reversible change

Do not modify the production VPS in place unless you have no alternative. A parallel build gives you two complete environments, makes configuration differences visible and lets you return traffic to the old address if the replacement fails.

Define the cutover and rollback conditions

Write down the planned maintenance window, the person responsible for changing DNS, the person watching application health and the exact condition that triggers rollback. Typical rollback triggers include failed database writes, broken authentication, missing uploads, duplicate background jobs, invalid TLS, a growing error rate or a queue that cannot drain.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Take an off-server backup before making changes and verify that at least one backup can be restored. A snapshot that has never been restored is not a dependable rollback plan.

Use a migration schedule

Phase When Purpose
Discovery Several days before Record services, data, dependencies, credentials, DNS and monitoring.
DNS preparation 12–24 hours before cutover Lower A and AAAA record TTLs to 300 seconds where practical.
Parallel build Before the maintenance window Provision, patch, secure and configure the new VPS.
Initial transfer Before cutover Copy most files and restore an initial database copy while the old server remains live.
Private validation Before cutover Exercise the application through the new IP without changing public DNS.
Final cutover Scheduled window Stop writes, synchronize changed files and data, start the new services and change DNS.
Observation After cutover Watch traffic, logs, queues, mail, backups and DNS; retain the old VPS.

1. Inventory the old Linux server

Migration failures usually come from an overlooked dependency rather than from the file copy itself. Record the current state before touching production.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Collect operating-system and resource details

  • Linux distribution and release: cat /etc/os-release
  • CPU, memory, swap and disk use, including every mount point: df -h
  • Listening sockets and owning processes: ss -tulpn
  • Enabled systemd units: systemctl list-unit-files --state=enabled
  • Container definitions, volumes and compose files, if containers are used.

Note which paths are local disks, network mounts or symlinks. A symlink that points outside /var/www can make an apparently complete copy incomplete.

List application and operating-system dependencies

  • Web-server virtual hosts, document roots, rewrite rules and upstream sockets.
  • Runtime versions such as PHP-FPM, Python, Node.js, Java or other application workers.
  • Systemd services, timers and user crontabs. Check both crontab -l for each relevant user and system-wide schedules.
  • Queues, schedulers, workers and any process that sends mail, processes payments or calls an external API.
  • Firewall rules, SSH configuration, authorized keys, non-root administrators and sudo policy.
  • TLS certificates, renewal jobs, private keys and certificate-chain files.
  • Database engines, versions, databases, users, extensions, collations and storage locations.
  • Persistent uploads, generated media, search indexes, caches that must be rebuilt and files written by the application.
  • Environment variables, application secrets, API credentials and webhook signing keys.
  • DNS records, monitoring checks, alert destinations, backup jobs and third-party callbacks.

Do not paste secrets into migration notes or chat. Export them through the secret-management process already used by the application, and plan how they will be installed on the new host.

2. Lower DNS TTL before changing the address

Lower the TTL on every relevant A and AAAA record, including application subdomains, 12–24 hours before the planned switch. A commonly recommended temporary value is 300 seconds (five minutes). This reduces the time many recursive resolvers retain the old address, but it does not force an immediate update: resolvers, operating systems and browsers can cache responses for different periods.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Make the change at the authoritative DNS provider and confirm the authoritative response directly. Include records used by APIs, administrative panels, mail-related services and callbacks; changing only the main website record can leave dependent traffic on the old host.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

After the new VPS has handled normal traffic and the rollback window has ended, restore the normal TTL. A permanently low TTL increases DNS query traffic without providing a continuing migration benefit.

3. Choose and provision the replacement VPS

Size the new machine for current load plus growth, not merely for the old server’s present average. Compare capacity and operational characteristics before ordering.

Decision area What to verify Why it affects migration
Operating system Distribution release, kernel behavior and package availability Matching major versions reduces configuration and library surprises.
Runtime and database Web runtime, extensions, database engine and version compatibility Applications can fail when a default package is newer or an extension is absent.
CPU and RAM Current usage, burst behavior, swap policy and growth headroom Insufficient memory causes worker kills and database instability during peak traffic.
Disk Used space, free space, IOPS, snapshots and expansion options The destination needs room for the copied data, logs, temporary dumps and growth.
Region and network Latency to users and dependencies, bandwidth, IPv4/IPv6 and reverse DNS Network changes can affect callbacks, mail reputation and user experience.
Security controls Firewall, private networking, SSH access, snapshots and backup retention These controls determine how safely you can test and recover.
Operations Monitoring, support, migration assistance and ease of reverting traffic A technically fast server is less useful if it is difficult to observe or restore.

Build a clean destination

  1. Install a supported OS and apply all security updates.
  2. Create a non-root administrative account, install its SSH key and grant only the required sudo access.
  3. Disable password authentication and direct root SSH access after confirming key-based login from a second session.
  4. Configure the correct timezone and time synchronization.
  5. Install the web server, runtime, database packages and transfer tools at versions compatible with the application.
  6. Apply a default-deny firewall policy, then allow only required ports such as SSH, HTTP, HTTPS and private database access.
  7. Set up monitoring, log rotation, external health checks and off-server backups before production traffic arrives.

Keep major OS, web-runtime, database and container versions aligned where practical. If you intentionally upgrade during the move, treat that as a separate change and test it independently; combining an infrastructure migration with an untested application upgrade makes diagnosis and rollback harder.

4. Back up and copy files in stages

Create and verify backups

Make a complete application backup, a database backup and a record of configuration before the initial transfer. Store at least one copy away from both VPSs. Check archive contents and perform a test restore into a temporary location or database on the new host.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

Run the initial rsync pass

Use SSH-key authentication and preserve ownership, permissions, hard links, ACLs and extended attributes when the destination filesystem supports them. For example:

sudo rsync -aHAX --numeric-ids --info=progress2 
  root@OLD_SERVER_IP:/var/www/ /var/www/

Adapt the source and destination paths to the application. Repeat the command later; rsync will transfer only files that changed after the first pass.

Copy application code, persistent uploads, static assets and configuration that is safe to review. Exclude caches, temporary files, Unix sockets, process IDs and live database storage directories. Do not copy a database’s active files as if they were ordinary documents. Preserve ownership deliberately: the web-server user, upload directories and worker accounts must match the service configuration on the new host.

Move other persistent data

Identify data outside the web root, such as user-upload directories, media volumes, queue persistence, search indexes and custom scripts. Transfer each path explicitly and document its owner, mode and mount point. Recreate mount units or storage mounts on the new VPS before starting services that depend on them.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

5. Migrate databases with database-aware methods

Never rsync a live PostgreSQL, MySQL or MariaDB data directory and assume it is consistent. Database files can change while they are being copied, producing a destination that will not start or contains an internally inconsistent state.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

PostgreSQL logical dump and restore

A representative flow is:

# old VPS
sudo -u postgres pg_dump -Fc appdb > /tmp/appdb.dump
scp /tmp/appdb.dump root@NEW_SERVER_IP:/tmp/

# new VPS
sudo -u postgres createdb appdb
sudo -u postgres pg_restore --clean --if-exists -d appdb /tmp/appdb.dump

Match the PostgreSQL major version, extensions, roles, ownership and locale requirements. Restore roles and grants before testing application connections, and remove the dump from temporary locations after confirming the restore and backup policy.

MySQL or MariaDB dump

Use a consistent logical dump, commonly with mysqldump --single-transaction for transactional tables. Include the required databases, users, grants, routines, events, triggers and character-set settings. Confirm whether any non-transactional tables require a brief lock or a maintenance window.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose a strategy for write-heavy systems

  • Planned maintenance: stop writes, take the final dump, restore it and start the destination. This is straightforward but the window grows with data volume.
  • Native replication: copy an initial base, stream subsequent changes and promote the new database during cutover. This reduces the final pause but requires tested replication monitoring and promotion steps.
  • Application-level dual writing: use only when the application explicitly supports it and conflict handling has been tested.

Whichever method you select, record the final transaction position or dump time and verify row counts, recent records and application reads and writes on the destination before switching traffic.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

6. Recreate services, TLS and scheduled work

Install the same virtual hosts and upstream definitions in Nginx or Apache, then adapt document roots and socket paths to the new filesystem. Recreate PHP-FPM or other runtime pools with matching user IDs, limits and environment settings.

  • Install systemd unit files and reload them with systemctl daemon-reload.
  • Recreate cron jobs and systemd timers, checking their working directories and environment variables.
  • Configure queue workers, supervisors and graceful shutdown behavior.
  • Set mail transport, DNS-related sender settings and any required reverse-DNS or relay configuration.
  • Reapply firewall rules and restrict database and administration ports to trusted networks.
  • Install TLS certificates and complete chains. Re-issue certificates on the new machine when that is safer than copying private keys, then verify automated renewal.
  • Install application secrets through the approved secret-management process, not by leaving them in shell history or temporary files.

Check every restored path for the correct owner and mode. A site that loads while uploads, cache warming or queue processing runs as the wrong user is not fully migrated.

7. Test the new VPS without public DNS

Use a hosts-file entry for your workstation or send a request directly to the new address with the intended hostname:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl --resolve example.com:443:NEW_SERVER_IP https://example.com/

The hostname in the request matters because virtual hosts and TLS certificates use it. Test both HTTP-to-HTTPS redirects and the canonical hostname.

Run an acceptance checklist

  • Homepage, static assets, authenticated pages and administrative paths.
  • Database reads, writes, migrations and transaction rollback behavior.
  • New uploads, downloads, image processing and permission handling.
  • Background jobs, scheduled tasks, queue retries and idempotency.
  • Outbound email, bounce handling, webhooks and callbacks from external services.
  • TLS certificate chain, renewal command, redirects, security headers and HTTP status codes.
  • Application, web-server, database and system logs under a representative workload.
  • Health checks, external monitoring, alerts and off-server backup execution.
  • Firewall exposure from both trusted and untrusted networks.

Use realistic test data and exercise a normal workload rather than checking only that the home page returns HTTP 200. Keep the new host private from public DNS while you fix discrepancies.

8. Execute the final cutover

Announce the maintenance window to affected users and pause automated deployments. Have a recent backup and the tested rollback command available before stopping writes.

  1. Put the old application into maintenance or read-only mode and stop new writes.
  2. Stop or quiesce workers on the old VPS so jobs cannot run twice. Record any in-flight queue items.
  3. Run the final rsync pass for application files and uploads.
  4. Create and restore the final database dump, or complete the planned replication catch-up and promotion.
  5. Start the database, web server, application services and workers on the new VPS.
  6. Run smoke tests against the new IP, including a controlled write, login, upload and representative job.
  7. Change the authoritative A and AAAA records to the new address.
  8. Keep the old application stopped or read-only while DNS caches expire, unless your rollback plan requires it to be ready to serve.

Do not start workers on both hosts during the transition. Duplicate consumers can send two emails, charge an operation twice or corrupt application state even when the web pages appear healthy.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

9. Monitor both hosts and preserve rollback

For the first hours after the DNS change, monitor access and error logs, latency, CPU, memory, disk, database health, queue depth, mail delivery, webhook responses and external DNS answers. Query several resolvers and test from more than one network because cached answers will not change simultaneously.

Rollback procedure

  1. Stop writes and workers on the new VPS if they could create divergent data.
  2. Change A and AAAA records back to the old address.
  3. Restore service on the old VPS using the latest synchronized data, or restore the verified backup if data diverged.
  4. Confirm application health, then investigate the failure before attempting another cutover.

Keep the old VPS intact until the replacement has served representative traffic and completed at least one verified backup. Only then restore normal DNS TTL, remove obsolete SSH keys and firewall allowances, revoke credentials no longer needed, confirm external monitoring and backups, and decommission the old machine deliberately.

Common failure modes and fixes

Symptom Likely cause Action
Site shows the wrong application Virtual-host hostname or DNS record is missing Use curl --resolve, check the Host header and verify every A/AAAA record.
502 or 504 responses Runtime socket, service, permissions or firewall mismatch Check upstream paths, service status, socket ownership and logs.
Login works but data is missing Wrong database, schema, role or environment variable Compare connection settings, schema versions, row counts and application secrets.
Uploads fail Upload directory was omitted or has the wrong owner, mode or mount Confirm the path exists on the correct filesystem and is writable by the application user.
Jobs run twice Workers remained active on both VPSs Stop old workers, inspect queue leases and make handlers idempotent before retrying.
Some users still reach the old server Resolver or browser caching Check authoritative DNS and multiple recursive resolvers; do not treat the lowered TTL as an instant switch.
TLS warning appears Certificate, chain or hostname does not match Install a certificate covering the requested names and test the complete chain externally.
Mail or callbacks stop Firewall, credentials, allowlist, reverse DNS or callback URL still references the old host Review outbound logs, provider allowlists, DNS records and signing secrets.
Database will not start after copying Live data directory was copied with inconsistent files Discard that copy and restore a logical dump or use a database-native replication method.

Final migration checklist

  • Inventory, backup and restore test completed.
  • Destination capacity, OS, runtime and database compatibility confirmed.
  • SSH, firewall, monitoring, time synchronization and backups configured.
  • DNS TTL lowered 12–24 hours before the change and authoritative responses checked.
  • Initial rsync completed without caches, sockets or live database directories.
  • Database restored with a logical dump or synchronized through a tested replication plan.
  • Virtual hosts, secrets, TLS, cron, timers, queues, mail and callbacks tested privately.
  • Final write freeze, worker stop and synchronization sequence rehearsed.
  • Rollback DNS change and old-server recovery steps documented.
  • Post-cutover logs, metrics, queues, mail, DNS and backups monitored.
  • Old VPS retained until representative traffic and a verified backup succeed.

A migration is complete only when the new VPS can serve real traffic, process its background work, send and receive required integrations, and recover from a tested backup. Treating the move as a rehearsal followed by a controlled DNS change turns a fragile copy operation into a reversible infrastructure change.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.