Sao lưu là việc dễ bị trì hoãn nhất cho tới khi sự cố xảy ra. Ổ cứng hỏng, lỡ tay xóa nhầm hay website bị nhiễm mã độc đều có thể làm mất dữ liệu nhiều năm. Bài viết hướng dẫn cách tự sao lưu dữ liệu VPS tự động, đơn giản và không tốn phí phần mềm.
Nguyên tắc sao lưu 3-2-1
Nguyên tắc phổ biến trong quản trị hệ thống: giữ 3 bản dữ liệu, trên 2 loại lưu trữ khác nhau, trong đó 1 bản đặt ở nơi khác hẳn. Bản sao lưu chỉ nằm trên chính VPS sẽ mất cùng VPS khi có sự cố.
Bước 1: Tạo thư mục và tập lệnh sao lưu
Tạo tệp /root/backup.sh với nội dung sau. Tập lệnh xuất cơ sở dữ liệu, nén mã nguồn website và xóa bản cũ hơn 7 ngày:
#!/bin/bash
NGAY=$(date +%F)
THU_MUC=/root/backup
mkdir -p $THU_MUC
# Xuất cơ sở dữ liệu
mysqldump --single-transaction wordpress | gzip > $THU_MUC/db-$NGAY.sql.gz
# Nén mã nguồn website
tar -czf $THU_MUC/web-$NGAY.tar.gz -C /var/www wordpress
# Xóa bản sao lưu cũ hơn 7 ngày
find $THU_MUC -type f -mtime +7 -delete
Cấp quyền chạy cho tập lệnh:
chmod +x /root/backup.sh
Bước 2: Đẩy bản sao lưu sang máy chủ khác bằng rsync
Để bản sao lưu an toàn, hãy đồng bộ thư mục sao lưu sang một VPS hoặc máy chủ lưu trữ khác. Trước tiên, thiết lập đăng nhập bằng khóa SSH tới máy đích, sau đó thêm dòng sau vào cuối tập lệnh:
rsync -az --delete /root/backup/ [email protected]:/srv/backup/web1/
Một VPS dung lượng lớn ở vị trí khác, ví dụ VPS Singapore, là nơi lưu bản sao lưu ngoài hợp lý cho hệ thống đặt tại Việt Nam.
Bước 3: Lập lịch tự động bằng cron
Mở trình chỉnh sửa cron bằng lệnh crontab -e và thêm dòng sau để chạy sao lưu lúc 2 giờ sáng mỗi ngày:
0 2 * * * /root/backup.sh >> /var/log/backup.log 2>&1
Bước 4: Thử khôi phục định kỳ
Bản sao lưu chỉ có giá trị khi khôi phục được. Mỗi tháng, hãy thử giải nén mã nguồn và nhập cơ sở dữ liệu lên một VPS thử nghiệm:
gunzip < db-2026-10-01.sql.gz | mysql wordpress_test
tar -xzf web-2026-10-01.tar.gz -C /var/www/
Những lưu ý quan trọng
- Không lưu mật khẩu cơ sở dữ liệu trong tập lệnh; dùng tệp
~/.my.cnfvới quyền 600. - Mã hóa bản sao lưu nếu chứa dữ liệu khách hàng trước khi lưu ở nơi khác.
- Theo dõi tệp
/var/log/backup.logđể phát hiện lỗi sao lưu sớm. - Sao lưu trước mỗi lần cập nhật lớn hoặc cài lại hệ điều hành.
Kết luận
Chỉ mất khoảng 10 phút thiết lập, bạn đã có hệ thống sao lưu tự động hằng ngày. Hãy kết hợp với bảo mật VPS cơ bản để dữ liệu luôn an toàn. Nếu cần nơi lưu bản sao lưu, tham khảo VPS quốc tế với nhiều vị trí khác nhau.
Câu hỏi thường gặp
Nên sao lưu VPS bao lâu một lần?
Website cập nhật hằng ngày nên sao lưu mỗi ngày. Website ít thay đổi có thể sao lưu hằng tuần, nhưng luôn sao lưu trước khi cập nhật lớn.
Có nên lưu bản sao lưu ngay trên VPS không?
Có thể giữ một bản trên VPS để khôi phục nhanh, nhưng bắt buộc phải có thêm bản ở máy chủ hoặc dịch vụ lưu trữ khác.
rsync khác gì sao chép thông thường?
rsync chỉ truyền phần dữ liệu thay đổi, nhanh và tiết kiệm băng thông hơn nhiều khi đồng bộ thư mục sao lưu định kỳ.
1 bình luận