Web Niraj
  • Facebook
  • Flickr
  • Github
  • Linkedin
  • Twitter
  • YouTube
Online portfolio, code examples and developer blog
  • About
  • Contact
  • Portfolio
  • WordPress
Search the site...
  • Home
  • Blog
  • Zero Downtime: Transferring Accounts from One cPanel Server to Another

Zero Downtime: Transferring Accounts from One cPanel Server to Another

2

After the New Year, I decided to purchase a newer, more powerful dedicated server from my hosting provider, but I had to manage the migration of data from my older server to the new one myself – no small task since the old server has a number of active accounts with live websites, applications and more. I was expecting the process to take days to complete, having to manually transfer each account over, update DNS settings and more, but I didn’t expect cPanel / WHM to make the process so easy.

Providing that your old and new servers both run cPanel / WHM, you can use the Account Transfer utility to easily transfer one or more accounts over quickly. Furthermore, selecting the “Express Transfer” option will also update the DNS records on the old server to point to the new server (once the account has been transferred) so you have virtually no downtime.

How it works

Using the root password for the old server, cPanel verifies that the old server is compatible with the transfer process. If the two servers run different version of cPanel / WHM, not all options will be available, but cPanel will determine this when connecting to the old server for the first time.

After entering your SSH details, cPanel will connect to the server and list the account it’s found. It will highlight accounts that have dedicated IP addresses, and you can enable / disable specific settings for each account.

cPanel Multi-Account Transfer - 2

cPanel compresses each account on the source server (home directory, databases, emails, account settings like DNS and domains) and transfers it across to the new server. If a particular account is large, the account is compressed into multiple files and sent across one at a time.

The compressed files are then unpacked on the destination server and restored. Databases, passwords, host names, subdomains etc are all restored as they were on the old server. Once transfer has successfully completed and verified, cPanel will update the source server settings to suspend the original account and update the DNS zones to point the domains and emails to the new server.

Anyone then hitting the old server will be presented with a “Website Moved” error until their DNS cache has been updated with the new server details. In most cases, the cache can be reset at the browser (e.g. using Chrome) or computer level.

cPanel Website Moved Message

Closing Down the Old Server

Once you’ve transferred all accounts and verified that they work on the new server, you’re one step closer to shutting down the old server. In my case, the nameserver had also changed so I had to update all associated domains to use the new nameservers (which can take up to 48 hours to take affect).

After updating the nameservers, I let both servers run for a few days to make sure there were no issues. Then, I shutdown the old server once I was happy that all the files were copied over and working as before. After a few more days, I requested that the server be decommissioned with the datacenter.

cPanel / WHM, Server, Sysadmin

2 comments on “Zero Downtime: Transferring Accounts from One cPanel Server to Another”

  1. Umer S says:
    March 22, 2015 at 4:35 PM

    What if a hosting company is not using cpanel. My hosting company uses vDesk.

    Reply
    • Niraj Shah says:
      March 26, 2015 at 9:41 AM

      See if there is an alternative transfer / migration option you can use. Otherwise, you’ll need to manually transfer the data. As this article says, this transfer option is only available between two cPanel servers.

      Reply

Leave a Reply to Niraj ShahCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

StackExchange / StackOverflow

profile for Niraj Shah on Stack Exchange, a network of free, community-driven Q&A sites

Support Me

Buy Me a Coffee

PSN Profile

Tags

ACL Amazon Amazon Web Services Android Android 4.4 KitKat Android 5.0 Lollipop Apache Backup Bug Command Line Cordova cPanel / WHM Facebook Facebook Graph API Facebook PHP SDK 4.0 Facebook Social Plugins Fan Page Firewall Flash Gadget Geolocation Google Nexus 5 Hacking HTML5 iOS JavaScript jQuery Laravel 5 Linux NodeJS Parse PDF PHP Plugin Portfolio PS4 Review Security Server SSH SSL Sysadmin Tutorial WordPress WordPress Plugins
© 2011-2025 Niraj Shah
  • Blog
  • Portfolio
  • WordPress
  • About Me
  • Contact Me
  • Privacy Policy
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Privacy Policy