Trang Chủ Thủ Thuật Công NghệThủ Thuật Máy Tính Cách backup và restore website dữ liệu lớn với SSH

Cách backup và restore website dữ liệu lớn với SSH

by Vinatai.mobi
0 bình luận

Cách backup và restore website dữ liệu lớn với SSH. Để chuyển toàn bộ website sang server mới là việc mà các quản trị web phải làm, đối với các website nhỏ với dung lượng file, folder + dung lượng database nhỏ thì việc chuyển dễ dàng hơn, các bạn chỉ cần sử dụng những plugin miễn phí sẵn có, hoặc dùng trình FTP tải file về, up lên server mới, sau đó backup database trực tiếp trên phpMyadmin và restore cũng qua phpMyadmin trên server mới.

Tuy nhiên, đối với các website có dung lượng lớn cả về các file, folder và database thì cách này không khả thi. Nên mình sẽ hướng dẫn bạn cách backup và restore bằng các câu lệnh thông qua SSH một cách nhanh chóng gọn nhẹ.

1. BACKUP

Trong phần này chúng ta sẽ thực hiện 2 bước là backup các file, folder của website và backup database của website:

1.1. Backup file, folder của website

Nếu bạn dùng trình FTP tải các file, folder nặng hàng GB rồi lại up lên server mới bằng FTP thì rất mất thời gian. Có một cách đó là nén toàn bộ file, folder thành 1 file sau đó tải trực tiếp file nén từ server cũ sang server mới.

Trước tiên bạn cần di chuyển đến thư mục public chứa toàn bộ file website của bạn bằng lệnh:

cd /home/admin/domains/abc.xyz/public_html

Để nén toàn bộ file trong thư mục public_html thành file nén, các bạn chạy dòng lệnh sau:

tar -cvzpf backup.tar.gz *

Giải thích: Lệnh trên tạo 1 file nén tên là backup.tar.gz tại thư mục hiện hành, trong file nén đó là toàn bộ file và folder trong thư mục /home/admin/domains/abc.xyz/public_html. Bạn cần thay đổi đường dẫn thư mục này phù hợp với thư mục chứa website của bạn.

1.2. Backup database của website

Bạn chạy dòng lệnh sau trên SSH:

mysqldump --add-drop-table -u username -p databasename > backupfilename.sql

Sau khi chạy dòng lệnh trên, hệ thống sẽ yêu cầu nhập password của database, bạn nhập password và enter là xong, tốc độ backup tùy thuộc vào cấu hình server bạn và dung lượng database.

Giải thích: Lệnh trên sẽ tạo 1 file có tên là backupfilename.sql tại thư mục hiện hành chứa toàn bộ database website của bạn. Bạn cần lưu ý thay đổi các thông tin username là tên tài khoản kết nối với database của bạn, databasename là tên cơ sở dữ liệu của bạn.

2. RESTORE

2.1. Restore file, folder của website:

Để restore file của website sang server mới, bạn mở SSH kết nối với server mới và truy cập vào thư mục public_html trên server mới bằng lệnh:

cd /home/admin/domains/abc.xyz/public_html

Sau đó chạy dòng lệnh sau để tải file backup của website vừa tạo ở bước 1:

wget -c http://abc.xyz/backup.tar.gz

Sau khi tải xong, bạn chạy dòng lệnh sau để giải nén file backup.tar.gz:

tar -vxf backup.tar.gz

Sau đó chuyển sang bước restore database.

2.2. Restore database của website

Trước khi restore databse, bạn cần tạo 1 databse mới trên server mới, nhớ lưu lại các thông tin về database name, database user, và database password.

Bạn tải file backup database từ server cũ về server bằng dòng lệnh:

wget -c http://abc.xyz/backupfilename.sql

Sau đó bạn chạy dòng lệnh sau để restore file backupfilename.sql vào database trên server mới:

mysql -u username -p databasename < backupfilename.sql

Sau khi chạy dòng lệnh trên, hệ thống sẽ yêu cầu nhập password của database, bạn nhập password của database mới và enter là xong, tốc độ restore tùy thuộc vào cấu hình server bạn và dung lượng database.

Giải thích: Bạn cần thay đổi các thông số username là database username mới, và databasename là tên của database mới.

Vậy là bạn đã hoàn thành việc backup file, folder và database sang server, chỉ còn 2 bước cuối cùng để website có thể chạy được trên server mới đó là: Thay đổi thông tin kết nối đến database trong code, và trỏ domain đến server mới.

Chúc các bạn thành công!