Your life will be a lot easier if you have control over a few things such as DNS and root access to your account or control panel. If you don't, give your host a little extra time and you should be ok
1) A few days before you plan to move, change your DNS ttl refresh times. Most likely they are set to something pretty high, I like to change them to 900 which means a refresh every 15mins. There really is no reason for your site to be down for an extended period of time due to dns propagation.
2) Right before your move, backup all your files and transfer them to the new server. If you're using a WHM/cPanel server you can either generate a full backup of the account in cpanel, transfer it over and unpack it. Or you can login to WHM on the new server and use "Copy an account from another server" feature. Generating the full backup and transferring it through cpanel is a good option when you don't have whm or root password on your original server.
3) Make sure all your files are in order on the new server and then on the old, point your dns over to the new IP. The reason I like doing this instead of changing nameservers right away is that if something goes wrong, you can switch back faster than changing nameservers again.
4) After you've confirmed that everything's working, make sure the dns settings on the new server are correct (these don't automatically transfer over with cpanel/whm transfers) then you can change nameservers to your new host. If you run your own nameservers you will need to update their IPs.
That's the general idea of how to transfer over accounts with minimal downtime.
1) A few days before you plan to move, change your DNS ttl refresh times. Most likely they are set to something pretty high, I like to change them to 900 which means a refresh every 15mins. There really is no reason for your site to be down for an extended period of time due to dns propagation.
2) Right before your move, backup all your files and transfer them to the new server. If you're using a WHM/cPanel server you can either generate a full backup of the account in cpanel, transfer it over and unpack it. Or you can login to WHM on the new server and use "Copy an account from another server" feature. Generating the full backup and transferring it through cpanel is a good option when you don't have whm or root password on your original server.
3) Make sure all your files are in order on the new server and then on the old, point your dns over to the new IP. The reason I like doing this instead of changing nameservers right away is that if something goes wrong, you can switch back faster than changing nameservers again.
4) After you've confirmed that everything's working, make sure the dns settings on the new server are correct (these don't automatically transfer over with cpanel/whm transfers) then you can change nameservers to your new host. If you run your own nameservers you will need to update their IPs.
That's the general idea of how to transfer over accounts with minimal downtime.