Nội dung

Hướng Dẫn Cài Đặt Free Tools Backup Tự Động Website và Database Trên Mọi Hệ Điều Hành Linux

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

apt install sshpass curl dos2unix -y
Copy

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

dos2unix /usr/local/bin/backupvpsttt.sh /etc/backupvpsttt.conf /etc/systemd/system/backupvpsttt.timer /usr/local/bin/backupvpsttt /etc/systemd/system/backupvpsttt.service
Copy

Cấp quyền thực thi cho file shell scripts

chmod +x /usr/local/bin/backupvpsttt.sh /usr/local/bin/backupvpsttt
Copy

Reload lại systemd để nhận file mới

sudo systemctl daemon-reload
Copy

Kích hoạt và khởi chạy timer

sudo systemctl enable --now backupvpsttt.timer
Copy

Chạy thủ công nếu cần test

sudo systemctl start backupvpsttt.service
Copy

Chạy menu cấu hình config

/usr/local/bin/backupvpsttt
Copy
tools backup

Đầ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 backup
Nhậ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 VPS
Nhậ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
Nhập password VPS (hiện tại: KXW0HN&%SY# nhấn enter để giữ nguyên):
Mật khẩu SSH của tài khoản phía trên, được sử dụng bởi 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ữ)
Nhập thư mục lưu backup (hiện tại: /home nhấn enter để giữ nguyên):
Là thư mục gốc nơi các file backup sẽ được lưu trên VPS lưu trữ.
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)
Nhập thư mục cần backup (hiện tại: /www/wwwroot/booking.devttt.com/ nhấn enter để giữ nguyên):
Thư mục chứa mã nguồn website hoặc dữ liệu cần backup.
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
Nhậpi khoản MySQL (hiện tại: sql_booking_devt nhấn enter để giữ nguyên):
Tên người dùng MySQL có quyền đọc toàn bộ database.
Được dùng trong lệnh mysqldump.
📌 Dòng 7 – Mật khẩu MySQL
Nhập mật khẩu MySQL (hiện tại: EwfwKEZ6aXhXptRN nhấn enter để giữ nguyên):
Mật khẩu của user MySQL phía trê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
Nhập SMTP Server (hiện tại: smtp.gmail.com nhấn enter để giữ nguyên):
Đây là địa chỉ máy chủ gửi email (SMTP).
Thường dùng:
Gmail: smtp.gmail.com
Zoho: smtp.zoho.com
Outlook: smtp.office365.com
📌 Dòng 2 – SMTP Port
Nhập SMTP Port (hiện tại: 465 nhấn enter để giữ nguyên):
Port kết nối SMTP:
465: SSL (bảo mật cao – phổ biến)
587: TLS (cũng được hỗ trợ)
📌 Dòng 3 – SMTP User
Nhp 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
Nhập SMTP Password (hiện tại: mvbczbafopzmkind nhấn enter để giữ nguyên):
Là mật khẩu ứng dụng (App Password) của email gửi đi.
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
Nh
p Email nhn thông báo (hiện tại: thienvpsttt@gmail.com nhấn enter để giữ nguyên):
Đị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ó)…
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

Ở tùy chọn số 3 bạn sẽ xem lại các cấu hình hiện tại và kiểm tra sai sót
Ở tùy chọn số 4 bạn kiểm tra kết nối SSH đến VPS lưu trữ
Ở tùy chọn số 5 bạn kiểm tra kết nối MySQL
Ở tùy chọn số 6 bạn có thể chạy back up để chạy thủ công lên VPS lưu trữ

Thay đổi thông tin cài đặt giờ để tự động chạy tools back up lên VPS lưu trữ

nano /etc/systemd/system/backupvpsttt.timer
Copy

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