Cách backup và restore dữ liệu trước khi chuyển sang panel thay cPanel
Chuyển từ cPanel sang panel khác như DirectAdmin, CyberPanel, aaPanel, Plesk, Webuzo, ISPConfig hay CloudPanel có thể giúp giảm chi phí, tăng quyền kiểm soát, tối ưu tài nguyên. Nhưng rủi ro lớn nhất không nằm ở giao diện mới. Rủi ro lớn nhất nằm ở dữ liệu.
Website mất file, database lỗi charset, email không đủ thư, DNS trỏ sai, SSL hỏng, cron không chạy. Một bước thiếu kiểm tra có thể biến việc đổi panel thành sự cố downtime dài. Vì vậy, trước khi chuyển, cần backup đúng, kiểm tra đủ, restore có kế hoạch.
Bài này hướng dẫn quy trình backup và restore dữ liệu trước khi rời cPanel, theo hướng thực tế, dễ làm, ít rủi ro.
Vì sao cần backup kỹ trước khi đổi panel?
Panel khác nhau dùng cấu trúc thư mục, định dạng backup, cách quản lý email, DNS, database khác nhau. File từ cPanel không phải lúc nào cũng import thẳng sang panel mới.
Backup kỹ giúp:
– Khôi phục nhanh nếu migration lỗi.
– So sánh dữ liệu sau khi restore.
– Giảm downtime khi chuyển DNS.
– Giữ nguyên email cũ nếu dùng mail nội bộ.
– Tránh mất database do dump thiếu bảng, sai encoding, thiếu trigger.
– Có đường lùi nếu panel mới không phù hợp.
Nguyên tắc quan trọng: không xóa hosting cPanel cũ cho đến khi website, email, cron, SSL, DNS trên panel mới chạy ổn ít nhất 3-7 ngày.
Cần backup những gì?
Trước khi chuyển panel, không chỉ backup mã nguồn website. Cần đủ toàn bộ thành phần vận hành.
1. File website
Thường nằm tại:
– /home/user/public_html
– Addon domain: /home/user/domain.com
– Subdomain: thư mục riêng trong home
– App riêng: Laravel, Node.js, Python có thể nằm ngoài public_html
Lưu ý: nhiều công cụ FTP không hiển thị file ẩn. Cần bật “show hidden files”.
2. Database
Website WordPress, Joomla, Magento, Laravel, forum, CRM thường dùng MySQL/MariaDB.
Cần ghi lại:
– Tên database
– User database
– Password database
– Charset/collation
– Phiên bản MySQL/MariaDB
– Trigger, view, stored procedure nếu có
Backup bằng phpMyAdmin được, nhưng website lớn nên dùng command line với mysqldump để ổn hơn.
3. Email
Nếu đang dùng email theo domain trên cPanel, cần backup:
– Tài khoản email
– Mật khẩu email nếu còn lưu được
– Mailbox: Inbox, Sent, Archive, custom folders
– Forwarder
– Email filter
– Autoresponder
– Mailing list nếu có
Email thường nằm trong:
– /home/user/mail
– /home/user/etc
Nhưng panel mới có thể dùng cấu trúc khác. Cách an toàn hơn: đồng bộ qua IMAP bằng công cụ như imapsync.
4. DNS records
Cần xuất hoặc ghi lại toàn bộ DNS zone:
– A record
– AAAA record
– CNAME
– MX
– TXT
– SPF
– DKIM
– DMARC
– SRV nếu có
– Subdomain
– Record cho dịch vụ ngoài: Google Workspace, Microsoft 365, Mailchimp, Zoho, CDN
Sai DNS có thể làm website hoạt động nhưng email chết, hoặc ngược lại.
5. SSL, cron, redirect, cấu hình đặc biệt
Cần lưu:
– SSL certificate nếu dùng cert riêng
– Cron jobs
– Redirect trong cPanel
– PHP version
– PHP extensions
– php.ini, .user.ini
– Node/Python app config
– SSH key
– FTP account
– Backup schedule
– Firewall rule nếu có
Các cách backup từ cPanel
Cách 1: Full Account Backup
Trong cPanel, vào:
Files → Backup → Download a Full Account Backup
Ưu điểm:
– Nhanh
– Gói gần như toàn bộ account
– Hữu ích nếu panel mới hỗ trợ import cPanel backup
Nhược điểm:
– File lớn
– Không phải panel nào cũng restore trực tiếp được
– Khó chọn từng phần
– Nếu tài khoản có nhiều domain, restore từng website có thể rối
Nên dùng full backup như bản dự phòng chính, không phải nguồn restore duy nhất.
Cách 2: Backup thủ công file và database
Dùng File Manager, FTP/SFTP, hoặc SSH.
Nén file:
cd /home/user
tar -czf website-files.tar.gz public_html
– Kiểm soát tốt
– Dễ restore sang panel bất kỳ
– Phù hợp website lớn
– Dễ chia nhỏ từng domain
Nhược điểm:
– Cần biết đường dẫn, database nào thuộc website nào
– Cần SSH nếu dữ liệu lớn
Cách 3: Backup bằng plugin CMS
Với WordPress, có thể dùng UpdraftPlus, Duplicator, All-in-One WP Migration, WPvivid.
Ưu điểm:
– Dễ dùng
– Phù hợp người không rành SSH
– Có thể backup lên Google Drive, Dropbox, S3
Nhược điểm:
– Website lớn dễ timeout
– Không backup email, DNS, cron
– Plugin lỗi nếu hosting giới hạn tài nguyên
Nên dùng plugin như bản phụ, không thay thế backup cấp hosting.
Checklist trước khi chuyển panel
Trước ngày chuyển, cần làm danh sách rõ:
– Giảm TTL DNS xuống 300 giây trước 24-48 giờ.
– Kiểm tra dung lượng source và database.
– Kiểm tra phiên bản PHP hiện tại.
– Kiểm tra extension PHP cần thiết.
– Ghi lại cron jobs.
– Ghi lại DNS records.
– Tạo full backup cPanel.
– Tạo backup file riêng.
– Tạo backup database riêng.
– Backup email nếu đang dùng mail nội bộ.
– Tải bản backup về máy local hoặc lưu sang cloud riêng.
– Kiểm tra file backup có mở được không.
– Không chỉ để backup trên server cũ.
Sai lầm phổ biến: backup xong nhưng không tải ra ngoài. Nếu server cũ lỗi hoặc bị khóa, backup cũng mất.
Cách restore dữ liệu sang panel mới
1. Chuẩn bị môi trường mới
Trên panel mới, tạo:
– Domain
– Database
– Database user
– Email account nếu dùng mail nội bộ
– PHP version tương thích
– SSL tạm nếu có thể
– FTP/SFTP/SSH user
Cài PHP extension cần thiết. Với WordPress thường cần:
– mysqli
– curl
– zip
– mbstring
– imagick
– xml
– intl
– gd
Với Laravel cần thêm Composer, queue, cron, permission đúng.
2. Restore file website
Upload file backup lên server mới bằng SFTP/SSH. Giải nén vào đúng document root.
Ví dụ:
tar -xzf website-files.tar.gz -C /home/newuser/domain.com/
DKIM thường lấy từ panel mới, không dùng lại mù quáng từ server cũ nếu mail server đổi.
Kiểm tra trước khi đổi DNS chính thức
Không nên trỏ DNS ngay sau restore. Cần test bằng hosts file.
Trên máy cá nhân, thêm dòng:
NEW_SERVER_IP domain.com www.domain.com
Windows:
C:WindowsSystem32driversetchosts
macOS/Linux:
/etc/hosts
Sau đó mở website và kiểm tra:
– Trang chủ
– Trang đăng nhập admin
– Form liên hệ
– Upload ảnh
– Giỏ hàng/thanh toán
– Đường dẫn tĩnh
– Redirect HTTP sang HTTPS
– SSL
– Cron
– Email gửi từ website
– Log lỗi
Xem log web server nếu có lỗi 500, 403, 404.
Cắt chuyển DNS ít downtime
Khi website mới ổn:
1. Chạy backup database lần cuối từ cPanel cũ.
2. Đưa website cũ về maintenance mode nếu có dữ liệu động như đơn hàng, thành viên, booking.
3. Import database cuối sang server mới.
4. Trỏ DNS sang IP mới.
5. Cài SSL chính thức.
6. Theo dõi log, đơn hàng, email trong 24-48 giờ.
Với website tĩnh hoặc ít cập nhật, downtime gần như bằng thời gian DNS cập nhật. Với WooCommerce, LMS, forum, CRM, nên có cửa sổ bảo trì ngắn để tránh lệch dữ liệu.
Lỗi thường gặp và cách xử lý
Lỗi trắng trang hoặc 500
Nguyên nhân hay gặp:
– Sai phiên bản PHP
– Thiếu extension
– Permission sai
– .htaccess không tương thích
– Database config sai
Cách xử lý: bật debug, xem error log, đổi PHP version, kiểm tra quyền file.
Lỗi kết nối database
Kiểm tra:
– DB name
– DB user
– Password
– DB host
– User có quyền đủ chưa
Với nhiều panel, DB host vẫn là localhost, nhưng có panel dùng 127.0.0.1 hoặc socket riêng.
Email không nhận được
Kiểm tra:
– MX record
– SPF/DKIM/DMARC
– Mail service đã bật chưa
– Firewall port 25/465/587/993
– DNS propagation
– Mailbox quota
Website mất ảnh
Nguyên nhân:
– Chưa copy đủ thư mục uploads
– File owner sai
– Path tuyệt đối trong database
– Hotlink/CDN config cũ
Kết luận thực tế
Chuyển sang panel thay cPanel không khó nếu backup đúng và restore có kiểm soát. Đừng phụ thuộc duy nhất vào full backup. Hãy có ít nhất 3 lớp: full cPanel backup, backup file riêng, backup database riêng. Nếu có email nội bộ, thêm backup IMAP.
Quy trình an toàn: kiểm kê dữ liệu, backup, tải bản sao ra ngoài, restore trên server mới, test bằng hosts file, sync lần cuối, rồi mới đổi DNS. Server cũ nên giữ vài ngày để làm đường lùi.
Panel có thể đổi. Dữ liệu phải còn. Backup tốt là bảo hiểm rẻ nhất trước mọi cuộc migration.