Prerequisites
Before migrating, make sure you have:
- SSH access to your current VPS
- SSH access to the new VPS
- Sufficient disk space on new VPS
- Backup of all important data
Step 1: Prepare New VPS
Provision a new VPS with the same or newer OS version. Install basic packages:
apt update && apt upgrade -y
apt install openssh-server rsync -y
Step 2: Transfer Files Using rsync
From the new VPS, pull data from the old one:
rsync -avz --progress --delete hxroot@OLD_IP:/var/www/html/ /var/www/html/
For entire system (excluding special dirs):
rsync -avz --exclude='/proc' --exclude='/sys' --exclude='/dev' --exclude='/tmp' --exclude='/mnt' --exclude='/media' --exclude='/run' hxroot@OLD_IP:/ /
Step 3: Transfer Databases
On old VPS, export databases:
mysqldump --all-databases > /tmp/all-databases.sql
Transfer to new VPS:
scp /tmp/all-databases.sql hxroot@NEW_IP:/tmp/
On new VPS, import:
mysql < /tmp/all-databases.sql
Step 4: Transfer Configuration Files
rsync -avz /etc/nginx/ hxroot@NEW_IP:/etc/nginx/
rsync -avz /etc/apache2/ hxroot@NEW_IP:/etc/apache2/
rsync -avz /etc/php/ hxroot@NEW_IP:/etc/php/
Adjust IP addresses in configs after transfer.
Step 5: Update DNS (Final Step)
Once all data is verified, update your domain's DNS A record to point to the new IP address. Wait for propagation (24-48 hours). Keep old VPS running during this period.
Step 6: Test Thoroughly
curl -I http://yourdomain.com
# Check database connections, email, cron jobs
Step 7: Decommission Old VPS
After confirming everything works on new provider, cancel your Hostxpeed VPS via the client area.
✅ Migration completed. Monitor your new VPS for any issues.