Trong môi trường vận hành website chuyên nghiệp, việc sao lưu định kỳ dữ liệu là yếu tố sống còn để đảm bảo an toàn thông tin và duy trì hoạt động liên tục. Bài viết này sẽ hướng dẫn bạn cách thiết lập hệ thống tools backup tự động cho website và cơ sở dữ liệu MySQL, tương thích mọi hệ điều hành Linux như Ubuntu, CentOS, AlmaLinux, v.v.
Hạ tầng sử dụng tools backup
Trong hệ thống Tools Back up này, chúng ta triển khai trên các VPS được cung cấp bởi VPSTTT:
VPS số 1 – Máy chủ chính – Tham khảo mua VPS qua link sau: https://vpsttt.com/cloud-vps-nvme/
Tùy chọn nếu bạn đã có sẵn VPS và đã hosting được website rồi nha.
Hệ điều hành: Ubuntu 22.04
Dịch vụ hosting: aaPanel
Lưu trữ website và cơ sở dữ liệu MySQL
VPS số 2 – Máy chủ lưu trữ đám mây – Tham khảo mua VPS qua link sau: https://vpsttt.com/cloud-storage/
Hệ điều hành: Linux tùy chọn (Ubuntu, CentOS, AlmaLinux đều được
Dùng để lưu dữ liệu backup từ VPS chính
Tính năng nổi bật của tools backup
Tự động backup thư mục website
Backup toàn bộ database MySQL
Gửi file backup sang VPS lưu trữ từ xa qua SSH
Lưu log, báo lỗi và gửi email thông báo chi tiết
Tùy chọn thời gian chạy tự động hàng ngày qua systemd timer
Hỗ trợ mọi hệ điều hành phổ biến trên Linux
Các gói cài đặt cần thiết trên VPS chính
Tải file source nguồn tools backup và up lên VPS chính
Link tải file tools tại đây bao gồm 5 file riêng và nén lại : ToolsBackupVPSTTT (1 download )
Cấu trúc cây thư mục mà file sẽ nằm ở trong thư mục đã quy định
Giải nén file và up vào đúng thư mục được quy định
Bạn có thể dùng Bitvise SSH Client hoặc WinSCP để up file bằng cách kéo thả vào thư mục sau:
/etc/backupvpsttt.conf
/usr/local/bin/backupvpsttt.sh
/usr/local/bin/backupvpsttt
/etc/systemd/system/backupvpsttt.service
/etc/systemd/system/backupvpsttt.timer
Convert lại file để tránh các lỗi thực thi
Cấp quyền thực thi cho file shell scripts
Reload lại systemd để nhận file mới
Kích hoạt và khởi chạy timer
Chạy thủ công nếu cần test
Chạy menu cấu hình config
Đầu tiên chỉnh sửa cấu hình tools backup với tùy chọn 1
Giải thích:
📌 Dòng 1 – IP VPS lưu backupNhập IP VPS lưu backup (hiện tại: 103.238.234.73 nhấn enter để giữ nguyên):
Đây là địa chỉ IP public của VPS đóng vai trò máy chủ lưu trữ dữ liệu backup.
Người dùng nhập IP mới nếu muốn thay đổi, hoặc nhấn Enter để giữ nguyên.
📌 Dòng 2 – Tên đăng nhập VPSNhập username VPS (hiện tại: root nhấn enter để giữ nguyên):
Tài khoản SSH dùng để kết nối tới VPS backup. Mặc định thường là root
, nhưng có thể dùng user khác nếu phân quyền phù hợp.
📌 Dòng 3 – Mật khẩu SSH VPS
Mật khẩu SSH của tài khoản phía trên, được sử dụng bởi
Nhập password VPS (hiện tại: KXW0HN&%SY# nhấn enter để giữ nguyên):sshpass
để tự động hóa kết nối và truyền file.
📌 Dòng 4 – Thư mục lưu backup (trên VPS lưu trữ)
Là thư mục gốc nơi các file backup sẽ được lưu trên VPS lưu trữ.
Nhập thư mục lưu backup (hiện tại: /home nhấn enter để giữ nguyên):
Hệ thống sẽ tự tạo thư mục con theo thời gian như /home/12_06_2025_01_00_00/
.📌 Dòng 5 – Thư mục cần backup (trên VPS chính)
Thư mục chứa mã nguồn website hoặc dữ liệu cần backup.
Nhập thư mục cần backup (hiện tại: /www/wwwroot/booking.devttt.com/ nhấn enter để giữ nguyên):
Với các hệ thống dùng aaPanel, thường nằm trong /www/wwwroot/tên_miền/
.
📌 Dòng 6 – Tài khoản MySQL
Tên người dùng MySQL có quyền đọc toàn bộ database.
Nhập tài khoản MySQL (hiện tại: sql_booking_devt nhấn enter để giữ nguyên):
Được dùng trong lệnh mysqldump
.
📌 Dòng 7 – Mật khẩu MySQL
Mật khẩu của user MySQL phía trên.
Nhập mật khẩu MySQL (hiện tại: EwfwKEZ6aXhXptRN nhấn enter để giữ nguyên):
Nếu nhập sai, script sẽ không thể backup database.
✅ Dòng thông báo sau khi hoàn tất✔️ Đã cập nhật cấu hình backup thành công!
Nhấn Enter để quay lại menu...
Tiếp theo chỉnh sửa cấu hình email của tools backup với tùy chọn 2
Giải thích:
📌 Dòng 1 – SMTP Server
Đây là địa chỉ máy chủ gửi email (SMTP).
Nhập SMTP Server (hiện tại: smtp.gmail.com nhấn enter để giữ nguyên):
Thường dùng:
Gmail: smtp.gmail.com
Zoho: smtp.zoho.com
Outlook: smtp.office365.com
📌 Dòng 2 – SMTP Port
Port kết nối SMTP:
Nhập SMTP Port (hiện tại: 465 nhấn enter để giữ nguyên):465
: SSL (bảo mật cao – phổ biến)587
: TLS (cũng được hỗ trợ)
📌 Dòng 3 – SMTP UserNhập SMTP User (hiện tại: buituthien1209@gmail.com nhấn enter để giữ nguyên):
Tài khoản email dùng để gửi thông báo.
Đây là địa chỉ xuất hiện ở phần “From” khi nhận email báo cáo backup.
📌 Dòng 4 – SMTP Password
Là mật khẩu ứng dụng (App Password) của email gửi đi.
Nhập SMTP Password (hiện tại: mvbczbafopzmkind nhấn enter để giữ nguyên):
Nếu bạn dùng Gmail, cần bật xác minh 2 bước và tạo App Password trong phần bảo mật Google.
📌 Dòng 5 – Email nhận thông báo
Địa chỉ email sẽ nhận báo cáo kết quả backup, bao gồm thông tin thời gian, dung lượng, lỗi (nếu có)…
Nhập Email nhận thông báo (hiện tại: thienvpsttt@gmail.com nhấn enter để giữ nguyên):
Có thể nhập nhiều người nhận (cách nhau bằng dấu phẩy) nếu cần.
✅ Kết thúc cấu hình✔️ Đã cập nhật cấu hình email thành công!
Nhấn Enter để quay lại menu...
Các tùy chọn khác
Thay đổi thông tin cài đặt giờ để tự động chạy tools back up lên VPS lưu trữ
Lưu lại cấu hình bằng cách nhấn kết hợp Ctrl + X -> Y -> Enter
Một số kết quả của hệ thống tools backup
Hình ảnh lưu trữ dữ liệu trên VPS lưu trữ
Hình ảnh thông báo về email sau khi thực hiện back up