I found this guide at /http://www.forum-forum.com/forum/showthread.php?s=&threadid=1160 (link down now). I found it VERY useful in making a smooth transfer of accounts. I hope you'll find it useful too. I did not originally write this, and I don't know who did. I modified some of the steps, added a few things, most of which are italicized. Please post if you have any changes/additions. ------------- Before you do the transfer, don't forget to make sure the new server is working - recompile apache and PHP with all the features you need. Make sure Exim and Named are working. Do a transfer of a test account and make sure it works. Ready to transfer server providers? 24-48 hours before transfer: 1. SSH to old server as root 2. cd /var/named 3. perl -pi.bak -e "s/14400/399/g" *.db 4. /etc/rc.d/init.d/named restart Here we have edited every single dns zone and created a .bak of each (just in case you need to revert). Changing the TTL from 14400 (24 hours) to 399 (under 7 minutes) means that as soon as you make a change to a dns zone, it will take effect within 7 minutes as opposed to 24 hours. I chose 399 because it should not appear anywhere else in the zone files so it will be easy to change back. This will be helpful after transfering the account because we want the sites to be pointing to the new server ASAP so that file changes, new emails, etc all get to the new server and don't get "lost." Make sure that you do this though at least 24 hours before starting the transfer, that is how long it will take the internet to "find out" that they need to check the dns server every 15 minutes instead of 24 hours. (I hope that made sense) If you do not have root access, you can ask your provider to do this or do it manually with WHM's DNS editing feature (very tedious...) Right before you do the transfer... To make a smooth transfer without loosing any email, shut down exim here to avoid delivering any email to the old server. The email will be delivered to the new server when it becomes active. You should also tell your clients when the move is taking place so they're not angry when they lose posts in a forum or changes to their site at this time. Maybe you also want to stop ftp and cpanel too. 1. SSH to old server as root 2. service chkservd stop 3. /etc/rc.d/init.d/exim stop 4. /etc/rc.d/init.d/pure-ftpd stop;/scripts/ckillall -9 pure-ftpd;/scripts/ckillall -9 pure-authd;/etc/rc.d/init.d/proftpd stop; 5. /etc/rc.d/init.d/cpanel stop Now to automatically sync the DNS changes when you move the accounts, you should setup DNS Clustering. To do this: 1. Login to old server WHM 2. Configure Cluster 3. Add a new server to the old server's cluster by entering your new server's ip address. You will need the remote access key from the new server (get this at WHM's Setup Remote Access Key on the new server). 4. Login to the new server WHM. 5. Configure Cluster 6. Add a old server to the new server's cluster by entering your old server's ip address. You will need the remote access key from the old server (get this at WHM's Setup Remote Access Key on the old server). 5. The DNS zones will now be syncronized between the two servers. When you transfer accounts the DNS will be changed to the new server. READY to Transfer? Here we go: 1. Login to new server's WHM, click on copy multiple accounts 2. Fill out the info 3. Select the accounts to transfer, if you chose select all at the bottom note that you will assign every account it's own ip address unless you manually unselect assign ip address to the side of every account. 4. Sit back and relax. As the sites are transferred, the dns changes on the old server so you will start seeing the sites work on the new server within a few minutes of each transfer. THIS IS NO LONGER NECESSARY IF YOU USE DNS CLUSTERING! Transfers have completed, let's make the change happen! Here we go: 1. Login to old server as root 2. cd /var/named 3. perl -pi.bak -e "s/[oldip]/[newip]/g" *.db 4. /etc/rc.d/init.d/named restart This will point all the sites to the newip. Hopefully most of your sites are on a shared ip. For all the accounts that are NOT on a shared ip you will need to copy the .db.bak for that domain to .db and edit it to reflect the new IP. MAKE SURE that you restore the back up file (.db.bak) for the old server's hostname and namesevers, otherwise your DNS will be useless. Transfer completed. Wait a few minutes and make sure everything is working. All sites are moved from the old server to the new one and are working on the new one. On the new server you should change the DNS TTL back to 24 hours to prevent too many DNS requests. The low number shouldn't be too bad, but its a good idea to change it back. 1. SSH to new server as root 2. cd /var/named 3. perl -pi.bak -e "s/399/14400/g" *.db 4. /etc/rc.d/init.d/named restart Sites should functioning on new server within a few minutes of their transfer, now transfer the nameservers! Here we go: Be sure to set up your NEW nameservers on the NEW server (see setting up nameserver). WHM will only add an A record for the oldips (until you transfer the nameservers with the registrar) so you need to edit the DNS zone to reflect the new ips. Submit the ip changes to your registrar and give it 48 hours to update. Within 48 hours your DNS will be served off your new server, thus you can cancel that old server with that host you couldn't wait to leave. If you have resellers, copy all the files in /var/cpanel that reference resellers and anything ending in .accts to the new server. GOOD LUCK! If ANY setup does not make sense to you I would suggest that you do some research or ask for some help before jumping in.