Làm cách nào để khôi phục website và database trên VPS,Server?

Đây có lẽ là câu hỏi mà có khá nhiều bạn quan tâm. Vậy hôm nay mình sẽ giới thiệu cho các bạn cách restore hay phục hồi lại VPS từ các dữ liệu code và database bạn đã backup sang VPS phụ.  Khi  nếu bạn làm theo các bước dưới đây bạn có thể chỉ mất từ 5 đến 30 phút là khôi phục lại hoàn toàn dữ liệu để website hoạt động lại bình thường.

Bài viết này áp dụng cho VPS sử dụng HZserver quản lý cài đặt PHP-FPM, Nginx và MariaDB và trường hợp VPS chính được cài mới lại toàn bộ. Với các bạn dùng script khác hoặc chỉ là chuyển các file backup ngược trở lại VPS chính có thể làm tương tự nhé.

( HZserver là một Script giúp bạn cài đặt Nginx, Php-FPM, MariaDB và quản lý VPS rất dễ dàng do Hostingaz.info phát triển từ Servertut. Bạn xem giới thiệu về HZserver tại: Cài đặt Nginx, PHP-FPM, MariaDB và quản lý VPS dễ dàng, bảo mật với HZserver )

Quá trình khôi phục website và database trên VPS/Server trải qua 7 bước chính:

1. Hãy chắc chắn bạn đã backup lại toàn bộ dữ liệu và Database.

2. Cài đặt lại VPS bằng HZserver

3. Tạo database trên VPS chính trước khi restore

4. Add thêm các domain vào VPS vừa cài đặt

5. Cho VPS backup kết nối tới VPS chính mà không cần nhập mật khẩu

6. Tạo Script transfer lại toàn bộ các file backup từ VPS backup về VPS ta vừa cài đặt xong.

1. Trường hợp với MySQL engine là MyISAM

2. Trường hợp với MysSQL engine là Innodb hay bất kỳ Engine khác.

7. Tắt chức năng  VPS backup được login vào VPS chính mà không cần nhập mật khẩu

Huong-dan-restore-vps-website-tren-vps-tu-vps-backup

Hướng dẫn phục hồi website và database trên VPS/Server  từ VPS backup

Chúng ta cùng đi vào chi tiết từng bước một nhé.

1. Hãy chắc chắn bạn đã backup lại toàn bộ dữ liệu và Database.

Cách thức thực hiện backup các bạn xem ở bài Hướng dẫn tự động backup code và database sang một server/VPS khác. Trước khi cài lại VPS, các bạn hãy chạy file backup_VPS.sh lần cuối cùng để sao lưu dữ liệu mới nhất nhé.

2. Cài đặt lại VPS bằng HZserver

(Nếu bạn chỉ phục hồi lại VPS từ VPS backup thì không cần làm bước này)

Sau khi bạn đã chạy backup_VPS.sh xong. Bạn hãy login vào control panel của nhà cung cấp VPS, sau đó chọn rebuild lại VPS. Để sử dụng được HZserver để cài đặt PHP-FPM, MariaDB và Nginx và quản lý VPS, bạn cần phải chọn hệ điều hành Centos 6, 64 bít nhé.

Tiếp theo bạn cài đặt HZserver theo hướng dẫn ở bài Cài đặt Nginx, PHP-FPM, MariaDB và quản lý VPS dễ dàng, bảo mật với HZserver.

3. Tạo database trên VPS chính trước khi restore

Trên VPS cần phục hồi, bạn đăng nhập vào SSH và truy cập vào  hzserver menu và chọn chức năng 4 để tạo database cần restore. Mật khẩu và user phải giống với database backup nhé. Chúng ta có bao nhiêu database backup thì bạn cần tạo thêm bấy nhiêu database nhé.

>>> Các mẹo bảo mật cơ bản cho VPS: https://vdo.com.vn/kien-thuc/cac-meo-bao-mat-co-ban-cho-vps/

4. Add thêm các domain vào VPS vừa cài đặt

Bạn sử dụng chức năng thêm domain của HZserver để thêm các domain ta cần phục hồi nhé.

Tuy cập HZserver menu và chọn phím chức năng 1 để sử dụng.

Chúng ta sẽ add thêm đầy đủ các domain domain nhé. Tiếp theo vào folder public_html của các domain này xóa tất cả các file index.html đi nhé !

5. Cho VPS backup kết nối tới VPS chính mà không cần nhập mật khẩu

Bây giờ chúng ta sẽ cho phép VPS backup kết nối tới VPS chính mà không cần mật khẩu:

Trên VPS backup bạn gõ lệnh:

ssh-keygen -f ~/.ssh/id_rsa -q -P “”

tiếp theo:

ssh-copy-id -i ~/.ssh/id_rsa.pub IP_VPS_chính

ví dụ VPS chính của bạn có IP 123.456.789 thì ta dùng lệnh:

ssh-copy-id -i ~/.ssh/id_rsa.pub 123.456.789

sau đó ta nhập mật khẩu VPS chính là hoàn thành.

>>> Hướng dẫn cách tối ưu VPS chạy nhanh nhất: https://vdo.com.vn/kien-thuc/huong-dan-cach-toi-uu-vps-chay-nhanh-nhat/

6. Tạo Script transfer lại toàn bộ các file backup từ VPS backup về VPS ta vừa cài đặt xong.

Sau khi ta đã cho VPS backup kết nối với VPS chính mà không cần nhập khẩu. Ta sẽ tạo script để transfer tất cả code và database đã backup ngược trở lại VPS chính. Tốc độ upload và download trên VPs rất nhanh, do đó nếu dung lượng backup của bạn lên tới hàng chục GB thì cũng mất một vài phút là hoàn thành việc này.

Có hai trường hợp tạo script :

Trường hợp với MySQL engine là MyISAM và Trường hợp với MysSQL engine là Innodb hay bất kỳ Engine khác. Tuy nhiên nếu bạn sử dụng nếu bạn sử dụng HZserver để quản lý VPS thì mặc định MySQL engine là MyISAM nên chúng ta chỉ cần transfer ngược trở lại folder MySQL và code là xong.

1. Trường hợp với MySQL engine là MyISAM

Tạo một file restore.sh trên máy tính với nội dung như sau:

#!/bin/bash

rsync -avz -e ssh /home/backup/home/ root@IP_VPS_Chính:/home/

rsync -avz -e ssh /home/backup/mysql/ root@IP_VPS_Chính:/var/lib/mysql/

Sau đó bạn dùng một trình upload file như winscp hay filezilla upload restore.sh lên thư mục /bin/ trên VPS backup. Tiếp theo chmod file này 755.

Tiếp tục truy cập SSH vào VPS backup và chạy script restore.sh để chuyển toàn bộ dữ lệu database và code về VPS chính

Lệnh thực hiện:restore.sh

bạn chờ một vài phút để chuyển dữ liệu về VPS chính. Sau khi Rsync dữ liệu hoàn thành. Bạn cần khởi động lại Nginx và MySQL, php-fpm để hoàn thành

service nginx restart

service php-fpm restart

service mysql restart

Vậy là ta hoàn thành việc phục hồi VPS từ VPS backup. Chúng ta sẽ mất khoảng hơn 10 phút để hoàn thành phục hồi VPS để website hoạt động lại bình thường.

2. Trường hợp với MysSQL engine là Innodb hay bất kỳ Engine khác.

với MysSQL engine là MyISAM ta có thể cách ở trên là nhanh nhất. Nhưng bạn vẫn có thể sử dụng cách dưới đây.

Tạo script restore.sh tương tự như trên để chuyển code và database về VPS chính.

#!/bin/bash

rsync -avz -e ssh /home/backup/home/ root@IP_VPS_Chính:/home/

rsync -avz -e ssh /home/backup/backupmysql/ root@IP_VPS_Chính:/home/backupmysql/

upload lên /bin/ rồi chomd file này 755, chạy lệnh restore.sh trên VPS backup để chuyển file backup về VPS chính.

Sau khi bạn chạy restore.sh xong, code và database backup đã chuyển về VPS chính. Lúc này website chưa thể hoạt động do chỉ có code mà chưa có database. bây giờ chúng ta cần phải import database, bây giờ chúng ta sẽ sử dụng mysqldump để phục hồi database.

7. Tắt chức năng  VPS backup được login vào VPS chính mà không cần nhập mật khẩu

Bạn chạy lệnh sau trên VPS backup để tắt đi khả năng login vào VPS chính mà không cần nhập mật khẩu ở bước trước ta đã làm.

ssh-keygen -R IP_VPS_chính

Đến đây là mọi việc đã hoàn thành. Chúng ta đã restore cho VPS xong. Nếu bạn restore từng phần, hãy thay nội dung restore.sh theo nhu cầu của mình nhé.

VDO – Chuyên cung cấp máy chủ ảo, cho thuê vps giá rẻ, tốc độ cao. Bạn có thể truy cập vào website: Vdo.com.vn để tham khảo chi phí thuê VPS tại đây.

Thông tin liên hệ:

Trụ sở chính TP. Hà Nội

CÔNG TY CỔ PHẦN DỮ LIỆU TRỰC TUYẾN VIỆT NAM

Add: Số 55, Ngõ 79 đường Cầu Giấy, P. Yên Hòa, Q. Cầu Giấy, Hà Nội

Hotline: 04 7305 6666 – 0932 363 998 – 0936 300 136

Văn phòng đại diện TP. HCM

Add: 366 Huỳnh Văn Bánh, Phường 14, Quận Phú Nhuận, TP.HCM

Hotline: 08 7308 6666 – 0962 788 835 – 0936 108 858

Tổng đài hỗ trợ kỹ thuật và tư vấn dịch vụ: 1900 0366