Tự động backup database và sao lưu FTP trên VPS chạy LNMP

Dữ liệu, đối với bất kỳ cá nhân/doanh nghiệp nào cũng đều rất quan trọng. Giờ đây, người người có web, nhà nhà có web là chuyện bình thường như cô Hường lên phường. Tuy nhiên, vấn đề backup dữ liệu không phải ai cũng ý thức được.
Một vài nhà cung cấp có chính sách backup dữ liệu cho khách hàng hàng tuần hoặc hàng tháng, có những đơn vị backup hàng ngày. Nhưng cũng có nhiều đơn vị không có chính sách backup hoặc nói có backup nhưng thực tế là không.
Dù sao đi nữa, chúng ta, những webmaster nên tự bảo vệ mình trước mối nguy hiểm mất dữ liệu.
Bài viết này Vinastar Ltd sẽ hướng dẫn các bạn triển khai một giải pháp backup tự động cho hệ thống máy chủ của mình. Những gì bạn làm được sau bài viết này:

  • Tự động backup database, code với lịch lên sẵn
  • Mỗi website, database được lưu với tên riêng kèm theo ngày giờ.
  • Hỗ trợ nén database và code để giảm dung lượng
  • Tự động upload qua FTP để sao lưu đồng thời sang một hệ thống khác

Lưu ý: Bài viết hướng dẫn này được thực hiện trên nền máy chủ ảo sử dụng gói LNMP. Các bạn có thể áp dụng với bất cứ hệ thống máy chủ nào chỉ với một chút chỉnh sửa cho phù hợp.

1. Download scripts

Các bạn login thành viên, download file backup.sh về. Lưu ý, chỉ cấp độ thành viên trở lên mới có thể download được. Các bạn đã đăng ký thì hãy ĐĂNG NHẬP, nếu chưa là thành viên hãy ĐĂNG KÝ.

2. Chỉnh sửa các thông số.

Bạn mở file backup.sh bằng các Text Editor thông dụng, bạn có thể dùng EmEditor hoặc NotePad++.
Các bạn cần phải thiết lập các thông số như:

  • Backup_Folder1= : Đây là tên folder bạn cần backup. Đó có thể là folder chứ code web hay bất cứ cái gì bạn cần.
  • Thông tin mySQL: Bạn có thể thiết lập ở các biến MYSQL_USR và MYSQL_PWD
  • Backup_DB1: Tên database bạn cần backup tự động
  • Các thông tin về FTP Server để tự động backup một bản khác sang máy chủ khác.

Và một vài thông tin khác các bạn cần chỉnh sửa thêm trong file cho phù hợp với cấu hình dịch vụ của mình trên máy chủ.

3. Upload lên server

Upload file backup.sh lên server của các bạn. Thông thường, với gói LNMP thì các scripts được để trong /root/. Dĩ nhiên các bạn để đâu cũng được. Tuy nhiên, cần phải chmod cho file backup.sh

#chmod 755 backup.sh

4. Tạo folder lưu backup.

Vinastar Ltd tạo một folder tên là backup ở ngay ngoài gốc ổ cứng.

#mkdir backup

#cd /backup

#mkdir db

#mkdir www

Folder db và www nằm bên trong folder backup, dùng để lưu database và code đã được sao lưu.

5. Lập lịch thực hiện backup

Việc cuối cùng, chúng ta cần thiết lập lịch dựa trên crontab để hệ thống tự động chạy scripts trên cho các bạn.
Vinastar Ltd thực hiện backup vào lúc 1h sáng ngày chủ nhật hàng tuần.
Để sửa crontab các bạn dùng lệnh sau:

#crontab -e

Sau đó thêm dòng lệnh sau xuống dưới.

#0 1 * * 0 /root/backup.sh

Như vậy là hệ thống của bạn sẽ được tự động backup hàng tuần vào lúc 1h sáng ngày chủ nhật.

Đôi lời: Các bạn có thể tắt phần sao lưu qua FTP đi, tuy nhiên Vinastar Ltd khuyến khích các bạn sử dụng FTP để tạo thêm một bản sao lưu nữa. Có rất nhiều trường hợp xảy ra khiến ổ cứng trên máy chủ hiện tại bị lỗi, gây mất dữ liệu. Lúc đó, bản backup qua FTP sẽ là một cứu cánh tốt hơn bao giờ hết.
Các bạn có thể mua một VPS lowend để làm sao lưu. Vinastar Ltd khuyến cáo sử dụng Burst, 123systems và đặc biệt là Eleven2 chỉ với vài  $/tháng.
Ngoài ra, các bạn có thể mua dịch vụ Backup của các nhà cung cấp khác như BQBackup hỗ trợ nhiều tính năng hơn.
Chúc các bạn thành công và đảm bảo an toàn dữ liệu của mình.

Bài viết này có ích cho bạn không? 1 phiếu cảm nhận dễ hiểu & thực hiện (7 Phiếu)