Bài viết hướng dẫn bạn sao lưu tệp trên VPS và cơ sở dữ liệu, lưu bản sao ở nơi an toàn, sau đó khôi phục khi dữ liệu bị mất hoặc phát sinh lỗi. Các lệnh bên dưới dành cho Linux; hãy thay đường dẫn và thông tin cơ sở dữ liệu theo cấu hình thực tế của bạn.
1. Chuẩn bị trước khi sao lưu
Xác định những dữ liệu cần giữ lại, thường gồm mã nguồn, tệp tải lên, tệp cấu hình và cơ sở dữ liệu. Ví dụ, website có thể lưu tại /var/www/html; không nên sao lưu toàn bộ hệ điều hành nếu bạn chỉ cần phục hồi dữ liệu ứng dụng.
Kiểm tra dung lượng ổ đĩa bằng lệnh:
df -h
Tạo thư mục sao lưu. Ví dụ dưới đây lưu tạm trong /root/backup; thư mục này vẫn nằm trên VPS nên chưa phải nơi lưu trữ an toàn lâu dài.
mkdir -p /root/backup
2. Sao lưu tệp và cơ sở dữ liệu
Tạo tệp nén từ thư mục cần sao lưu. Thay /var/www/html bằng đường dẫn thực tế:
tar -czf /root/backup/website-$(date +%F).tar.gz /var/www/html
Nếu website dùng MySQL hoặc MariaDB, xuất cơ sở dữ liệu. Lệnh sẽ yêu cầu mật khẩu sau khi bạn nhấn Enter:
mysqldump -u ten_nguoi_dung -p ten_co_so_du_lieu > /root/backup/database-$(date +%F).sql
Thay ten_nguoi_dung và ten_co_so_du_lieu bằng thông tin của bạn. Nếu dùng hệ quản trị khác, hãy dùng công cụ xuất dữ liệu tương ứng. Kiểm tra các tệp đã tạo:
ls -lh /root/backup
Chuyển bản sao ra khỏi VPS, chẳng hạn về máy tính cá nhân hoặc một nơi lưu trữ riêng. Ví dụ dùng SCP, thay thông tin trong dấu ngoặc nhọn bằng thông tin máy nhận:
scp /root/backup/website-YYYY-MM-DD.tar.gz <ten_nguoi_dung>@<dia_chi_may_nhan>:<thu_muc_luu>
Thực hiện tương tự với tệp cơ sở dữ liệu. Không lưu bản sao duy nhất trên chính VPS cần bảo vệ. Nên sao lưu định kỳ và thử mở tệp nén hoặc kiểm tra tệp SQL để phát hiện bản sao bị lỗi.
3. Khôi phục dữ liệu
Trước khi khôi phục, tạo một bản sao mới của dữ liệu hiện tại để có thể quay lại nếu thao tác sai. Nếu ứng dụng đang ghi dữ liệu, hãy đưa ứng dụng vào chế độ bảo trì hoặc tạm dừng dịch vụ phù hợp để tránh phát sinh dữ liệu không đồng nhất.