Prerequisites
Before restoring from backup, make sure you have:
- Admin access to HestiaCP
- A valid backup file
⚠️ Restoring will overwrite current data. Consider creating a fresh backup before restoring!
Method 1: Restore via HestiaCP Web Interface
Step 1: Log in to HestiaCP
https://YOUR_SERVER_IP:8083
Step 2: Navigate to SERVER Section
Click on SERVER in the top menu bar.
Step 3: Go to Backup Tab
Click on the Backup tab.
Step 4: Select Backup to Restore
Find the backup in the list and click the Restore icon.
Step 5: Choose Restore Type
- Full Restore: Restore everything (user, domains, databases)
- Selective Restore: Choose specific items
Step 6: Confirm Restore
Click Restore to start the process.
Method 2: Restore via SSH
Restore specific user:
/usr/local/hestia/bin/v-restore-user admin /backup/admin.2026-04-29.tar
Restore specific domain only:
/usr/local/hestia/bin/v-restore-domain admin example.com /backup/admin.2026-04-29.tar
Restore all users from backup directory:
for backup in /backup/*.tar; do
/usr/local/hestia/bin/v-restore-user "$(basename $backup .tar)" "$backup"
done
Partial Restore from Backup
Extract specific files without full restore:
mkdir /tmp/restore
tar -xf /backup/admin.2026-04-29.tar -C /tmp/restore
Then copy needed files manually:
cp -r /tmp/restore/home/admin/web/example.com/public_html/* /home/admin/web/example.com/public_html/
Restore Database from Backup
Extract database SQL:
tar -xf /backup/admin.2026-04-29.tar --wildcards "*.sql"
mysql -u username -p database_name < extracted_backup.sql
Check Restore Log
tail -f /var/log/hestia/restore.log
Restore to Different Server
Copy backup to new server:
scp /backup/admin.2026-04-29.tar root@NEW_SERVER_IP:/backup/
Then on new server:
/usr/local/hestia/bin/v-restore-user admin /backup/admin.2026-04-29.tar
✅ Restore completed successfully!