Cấu hình backup VPS/server lên Google Drive là quá trình thiết lập các công cụ tự động sao lưu dữ liệu quan trọng trên máy chủ ảo hoặc vật lý sang dịch vụ lưu trữ đám mây Google Drive. Trong bài viết này, mình sẽ cung cấp hướng dẫn từng bước chi tiết để bạn có thể cấu hình và tự động sao lưu toàn bộ dữ liệu từ VPS/Server của mình lên Google Drive một cách an toàn và hiệu quả bằng công cụ Rclone.
Những điểm chính
- Rclone là gì: Công cụ dòng lệnh mã nguồn mở, miễn phí, đa năng để quản lý, đồng bộ, sao lưu dữ liệu giữa máy tính/VPS và hơn 70 dịch vụ đám mây.
- Tầm quan trọng của Backup: Bảo vệ dữ liệu khỏi mất mát, đảm bảo kinh doanh liên tục, phục hồi sau thảm họa.
- Hướng dẫn cài đặt Rclone: Dùng curl https://rclone.org/install.sh | sudo bash, sau đó kiểm tra bằng
rclone version. - Cấu hình Rclone với Google Drive: Sử dụng rclone config, chọn Google Drive, làm theo hướng dẫn để xác thực tài khoản Google và nhận mã xác thực. Lưu lại tên remote.
- Các lệnh Rclone cơ bản:
rclone ls [remote]:[path]:,rclone copy [nguồn] [đích] -P:,rclone sync [nguồn] [đích]:,rclone delete [remote]:[path]: - Tự động hóa Backup VPS với Rclone: Tạo script shell bao gồm lệnh
tar,mysqldump, vàrclone copyvà thiết lập Cron job để chạy script định kỳ. - Khôi phục dữ liệu: Dùng
rclone copyđể tải bản backup về VPS, sau đó dùngtar -xzvfvàmysqlđể khôi phục. - Giải đáp các thắc mắc: Rclone có miễn phí không, tôi có thể backup nhiều thư mục/database cùng lúc với một script không, làm thế nào để kiểm tra trạng thái Cronjob và xem lỗi nếu có,…
Rclone là gì?
Rclone là một công cụ dòng lệnh mã nguồn mở, chuyên dùng để quản lý, đồng bộ hóa, sao lưu, di chuyển và chia sẻ dữ liệu giữa máy tính hoặc máy chủ với hơn 50 dịch vụ lưu trữ đám mây khác nhau như Google Drive, Dropbox, OneDrive, Amazon S3 và nhiều nền tảng khác.
Không chỉ giới hạn ở việc đồng bộ hoặc sao chép dữ liệu giữa local và cloud, Rclone còn hỗ trợ chuyển đổi dữ liệu trực tiếp giữa các dịch vụ lưu trữ đám mây mà không cần tải về rồi upload lại, tối ưu cả thời gian và băng thông. Những điểm mạnh chính của Rclone bao gồm:
- Mã nguồn mở: Hoàn toàn miễn phí và được cộng đồng phát triển, kiểm tra liên tục.
- Đa nền tảng: Hoạt động trên Linux, Windows, macOS và nhiều hệ điều hành khác.
- Hỗ trợ rộng rãi: Tương thích với hơn 70 dịch vụ lưu trữ đám mây như Google Drive, Amazon S3, Dropbox, OneDrive,…
- Linh hoạt: Cung cấp nhiều lệnh mạnh mẽ để sao chép, đồng bộ, di chuyển, mã hóa và quản lý dữ liệu.

Tầm quan trọng của việc cấu hình Backup VPS/Server lên Google Drive
Sao lưu dữ liệu không phải là một lựa chọn, mà là một yêu cầu bắt buộc đối với bất kỳ hệ thống nào. Dù hạ tầng VPS có ổn định đến đâu, việc backup luôn là quá trình không thể thiếu cho mọi dữ liệu quan trọng:
- Bảo vệ dữ liệu: Đây là lý do rõ ràng nhất. Lỗi phần cứng, xóa nhầm file, hay các cuộc tấn công ransomware đều có thể khiến bạn mất trắng dữ liệu.
- Đảm bảo kinh doanh liên tục: Với các website thương mại điện tử hay dịch vụ online, mất dữ liệu đồng nghĩa với việc ngừng kinh doanh, gây thiệt hại tài chính và uy tín.
- Phục hồi sau thảm họa: Khi sự cố xảy ra, một bản backup tốt giúp bạn nhanh chóng khôi phục lại hệ thống về trạng thái hoạt động gần nhất, giảm thiểu thời gian gián đoạn.
Hướng dẫn cài đặt và cấu hình Rclone với Google Drive
Chuẩn bị
Trước khi bắt đầu, bạn hãy đảm bảo đã có:
- Truy cập SSH vào VPS/Server với quyền root hoặc sudo.
- Kết nối Internet ổn định cho VPS.
- Một tài khoản Google Drive.

Các bước cài đặt Rclone trên hệ điều hành Linux
Phương pháp cài đặt nhanh và được khuyến nghị nhiều nhất là sử dụng script chính thức từ Rclone. Lúc này mở terminal của bạn và chạy lệnh sau:
curl https://rclone.org/install.sh | sudo bashLệnh này sẽ tự động tải về script cài đặt và thực thi với quyền quản trị, giúp bạn có thể cài đặt phiên bản Rclone mới nhất cho hệ thống. Sau khi cài đặt xong, hãy thử kiểm tra lại bằng lệnh:
rclone versionNếu bạn thấy thông tin phiên bản hiển thị, Rclone đã được cài đặt thành công.
Cấu hình Rclone kết nối Google Drive
Đây là bước quan trọng nhất. Chúng ta sẽ thiết lập để Rclone có thể truy cập vào tài khoản Google Drive của bạn.
Bước 1: Khởi tạo cấu hình
Bạn hãy bắt đầu quá trình cấu hình bằng lệnh sau:
rclone configBước 2: Khi tạo một remote mới:
- Rclone sẽ hỏi bạn chọn gì, lúc này bạn chỉ cần nhập
nvà nhấn Enter để tạo một remote mới. name>: Hãy đặt một cái tên dễ nhớ cho kết nối này, ví dụgdrive_backup, rồi nhấn Enter.Storage>: Lúc này, một danh sách các dịch vụ lưu trữ sẽ hiện ra, bạn tìm dòng Google Drive và nhập số tương ứng (ví dụ, có thể là 15 hoặc một số khác tùy phiên bản), rồi tiếp tục nhấn Enter.- Để trống client_id và client_secret bằng cách nhấn Enter hai lần, khi đó, Rclone sẽ sử dụng key mặc định.
scope>: Bạn chọn 1 để cấp quyền truy cập đầy đủ (drive) và nhấn Enter.- Để trống
root_folder_idvàservice_account_filebằng cách nhấn Enter hai lần. Edit advanced config?: Nhập n và nhấn Enter.
Bước 3: Xác thực tài khoản Google:
- Vì chúng ta đang thao tác trên một server không có giao diện đồ họa, khi Rclone hỏi Use auto config?, bạn phải nhập n và nhấn Enter. Rclone sẽ cung cấp một đường link (URL), bạn hãy sao chép toàn bộ đường link này.
- Mở trình duyệt web trên máy tính cá nhân của bạn và dán đường link vừa sao chép vào thanh địa chỉ. Sau đó, đăng nhập vào tài khoản Google bạn muốn dùng để backup và nhấn Cho phép để cấp quyền cho Rclone.
- Sau khi cấp quyền, trình duyệt sẽ hiển thị một mã xác thực (verification code) và bạn hãy sao chép mã này. Sau đó, quay trở lại cửa sổ terminal của VPS, dán mã xác thực vừa sao chép vào và nhấn Enter.
Bước 4: Hoàn tất và kiểm tra:
- Khi được hỏi Configure this as a team drive? thì bạn nhập n và nhấn Enter. Rclone sẽ hiển thị lại toàn bộ cấu hình. Nếu mọi thứ đã đúng, nhập y để xác nhận. Cuối cùng, nhập q để thoát khỏi giao diện cấu hình.
Để kiểm tra xem kết nối đã thành công chưa, hãy dùng lệnh sau để liệt kê các thư mục gốc trong Google Drive của bạn:
rclone lsd gdrive_backup:Để quá trình cài đặt và kết nối Rclone được suôn sẻ, cũng như đảm bảo hiệu suất backup và khôi phục tối ưu, việc lựa chọn một nhà cung cấp VPS uy tín với hạ tầng ổn định và đường truyền tốc độ cao là rất quan trọng. Các dịch vụ VPS của Vietnix luôn được tối ưu để mang lại trải nghiệm tốt nhất cho người dùng, đảm bảo quá trình sao lưu diễn ra nhanh chóng và hiệu quả.
Xây dựng Script và tự động hóa Backup VPS hàng ngày
Các lệnh Rclone cơ bản để sao lưu
Trong kịch bản này, bạn sẽ quan tâm đến hai lệnh chính:
rclone copy: Lệnh sẽ sao chép file từ nguồn đến đích và không xóa bất kỳ file nào ở đích nếu file đó không còn tồn tại ở nguồn.rclone sync: Lệnh có nhiệm vụ đồng bộ hóa nguồn và đích, làm cho thư mục đích giống hệt thư mục nguồn, bao gồm cả việc xóa file ở đích nếu file không còn ở nguồn.
Đối với việc backup, rclone copy thường là lựa chọn an toàn hơn để tránh xóa nhầm dữ liệu cũ.
Xây dựng script tự động backup dữ liệu VPS
Bây giờ, bạn sẽ tạo một file script để tự động hóa toàn bộ quá trình.
Tạo một file script mới:
nano /root/backup_script.shSao chép toàn bộ đoạn mã dưới đây và dán vào file:
#!/bin/bash
# THAY ĐỔI CÁC THÔNG SỐ SAU
REMOTE_NAME="gdrive_backup" # Tên remote Rclone đã cấu hình
BACKUP_FOLDER_ON_DRIVE="VPS_Backups" # Tên thư mục chứa backup trên Google Drive
SOURCE_DIR="/var/www/html" # Thư mục mã nguồn website cần backup
DB_USER="your_database_user" # User của database
DB_PASS="your_database_password" # Mật khẩu của database
DB_NAME="your_database_name" # Tên database cần backup
DAYS_TO_KEEP=7 # Số ngày giữ lại bản backup
# ----- KHÔNG THAY ĐỔI BÊN DƯỚI -----
BACKUP_DIR="/root/temp_backup" # Thư mục tạm chứa backup trên VPS
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
TAR_FILE="$BACKUP_DIR/source-$DATE.tar.gz"
SQL_FILE="$BACKUP_DIR/db-$DATE.sql"
# Bắt đầu quá trình
echo "Bat dau qua trinh backup vao luc: $DATE"
# Tạo thư mục tạm
mkdir -p $BACKUP_DIR
# 1. Nén thư mục mã nguồn
echo "Dang nen ma nguon..."
tar -czf $TAR_FILE $SOURCE_DIR
# 2. Dump cơ sở dữ liệu
echo "Dang backup database..."
mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > $SQL_FILE
# 3. Tải lên Google Drive
echo "Dang tai len Google Drive..."
rclone copy $BACKUP_DIR "$REMOTE_NAME:$BACKUP_FOLDER_ON_DRIVE/$DATE" --log-file=/var/log/rclone.log
# 4. Xóa các bản backup cũ trên Google Drive
echo "Dang xoa cac ban backup cu hon $DAYS_TO_KEEP ngay..."
rclone delete --min-age ${DAYS_TO_KEEP}d "$REMOTE_NAME:$BACKUP_FOLDER_ON_DRIVE" --log-file=/var/log/rclone.log
# 5. Dọn dẹp thư mục tạm trên VPS
echo "Don dep thu muc tam..."
rm -rf $BACKUP_DIR
echo "Hoan tat!"
Lưu ý
Bạn cần thay thế các giá trị your_database_user, your_database_password, your_database_name bằng thông tin CSDL thực tế của bạn.
Lưu file lại (nhấn Ctrl+X, sau đó Y, rồi Enter).
Tiếp theo, bạn tiến hành cấp quyền thực thi cho file script này:
chmod +x /root/backup_script.shThiết lập Cronjob để tự động hóa quá trình backup
Cronjob là một công cụ trên Linux để lên lịch chạy các tác vụ một cách tự động và bạn sẽ dùng Cronjob để chạy script backup mỗi ngày.
Bước 1: Mở trình soạn thảo crontab
crontab -eNếu đây là lần đầu bạn dùng, hệ thống có thể yêu cầu bạn chọn một trình soạn thảo và hãy chọn nano.
Bước 2: Thêm dòng sau vào cuối file để lên lịch chạy script vào 2 giờ sáng mỗi ngày
0 2 * * * /root/backup_script.sh >> /var/log/backup.log 2>&1Cụ thể:
0 2 * * *: Có nghĩa là vào 0 phút, 2 giờ, mỗi ngày, mỗi tháng, mỗi thứ trong tuần./root/backup_script.sh: Là đường dẫn tuyệt đối đến file script của bạn./var/log/backup.log 2>&1: Đây là giải pháp hữu ích giúp ghi lại toàn bộ kết quả và lỗi (nếu có) của quá trình backup vào file backup.log, giúp bạn dễ dàng kiểm tra và gỡ lỗi sau này.
Hướng dẫn khôi phục dữ liệu từ Google Drive về VPS
Khi sự cố xảy ra, đây là cách bạn sử dụng các bản backup của mình.
Các lệnh Rclone để tải dữ liệu về
Đầu tiên, bạn cần tải file backup từ Google Drive về VPS. Giả sử bạn muốn khôi phục bản backup ngày 2023-10-27_02-00-01, thì sẽ dùng lệnh:
rclone copy "gdrive_backup:VPS_Backups/2023-10-27_02-00-01" /root/restore_tempLệnh này sẽ tải toàn bộ thư mục backup của ngày hôm đó vào thư mục /root/restore_temp trên VPS của bạn.
Quy trình giải nén và khôi phục dữ liệu về đúng vị trí trên VPS
Sau khi đã tải về, bạn cần phải giải nén và đưa chúng về đúng vị trí.
Khôi phục mã nguồn website
Bạn giải nén file .tar.gz chứa mã nguồn trực tiếp vào thư mục gốc của website.
tar -xzvf /root/restore_temp/source-2023-10-27_02-00-01.tar.gz -C /
Lưu ý
Lệnh trên giải nén vào thư mục gốc / vì file tar đã lưu cấu trúc thư mục /var/www/html.
Khôi phục Database
Tiếp đến, Import file .sql vào lại cơ sở dữ liệu của bạn.
mysql -u your_database_user -p your_database_name < /root/restore_temp/db-2023-10-27_02-00-01.sqlLúc này, hệ thống sẽ yêu cầu bạn nhập mật khẩu của user database.
Sau khi giải nén file, bạn có thể cần phải thiết lập lại quyền sở hữu cho thư mục website để web server như Apache hoặc Nginx có thể đọc được, đây là lỗi rất phổ biến gây ra lỗi 403 hoặc 500 sau khi khôi phục.
chown -R www-data:www-data /var/www/htmlThay www-data:www-data bằng user và group của web server trên hệ thống của bạn, ví dụ apache:apache trên CentOS).
Bạn cần kiểm tra tính toàn vẹn của bản backup trước khi khôi phục trên môi trường chính thức. Tốt nhất, hãy thử khôi phục trên một môi trường thử nghiệm trước để đảm bảo mọi thứ hoạt động như mong đợi.
Lời khuyên tối ưu và các lưu ý quan trọng khi Backup VPS
- Kiểm tra bản backup định kỳ: Bạn nên tải về một bản backup và thử giải nén định kỳ để đảm bảo bản backup không bị hỏng.
- Quản lý dung lượng Google Drive: Vì tài khoản Drive miễn phí chỉ có 15GB nên dù Script đã có cơ chế xóa backup cũ, bạn vẫn nên theo dõi dung lượng. Nếu cần, bạn hãy cân nhắc nâng cấp lên gói Google One.
- Bảo mật dữ liệu nhạy cảm: Nếu dữ liệu của bạn cực kỳ quan trọng, hãy tìm hiểu tính năng mã hóa của Rclone. Tính năng này sẽ tạo ra một remote được mã hóa, giúp mã hóa dữ liệu trước khi được tải lên Google Drive, giúp tăng cường thêm một lớp bảo mật.
- Tầm quan trọng của hạ tầng VPS: Một VPS ổn định, hiệu suất cao với băng thông dồi dào sẽ giúp quá trình backup diễn ra nhanh chóng, ít ảnh hưởng đến hiệu năng của hệ thống. Để đảm bảo việc sao lưu và khôi phục diễn ra hiệu quả, bạn nên chọn các nhà cung cấp VPS có cam kết về uptime, băng thông cao và hỗ trợ kỹ thuật tận tình.
Câu hỏi thường gặp
Rclone có miễn phí không?
Câu trả lời là Có, Rclone là phần mềm mã nguồn mở và hoàn toàn miễn phí. Bạn chỉ trả phí cho dung lượng lưu trữ đám mây nếu vượt quá giới hạn miễn phí của nhà cung cấp như Google Drive.
Tôi có thể backup nhiều thư mục/database cùng lúc với một script không?
Hoàn toàn có thể. Bạn chỉ cần thêm các lệnh tar và mysqldump tương ứng cho các thư mục và database khác vào trong cùng file backup_script.sh.
Làm thế nào để kiểm tra trạng thái Cronjob và xem lỗi nếu có?
Bạn chỉ cần thêm các lệnh tar và mysqldump tương ứng cho các thư mục và database khác vào trong cùng file backup_script.sh.
Dung lượng Google Drive miễn phí có đủ để backup VPS không?
Tùy thuộc vào kích thước dữ liệu của bạn. Với 15GB và cơ chế tự động xóa backup cũ, 15Gb của Google Drive hoàn toàn có thể đủ cho các website nhỏ và vừa.
Ngoài Google Drive, Rclone còn hỗ trợ những dịch vụ lưu trữ đám mây nào khác?
Rclone hỗ trợ hơn 70 dịch vụ khác nhau, bao gồm các tên tuổi lớn như Dropbox, Amazon S3, Microsoft OneDrive, Backblaze B2, và nhiều hơn nữa.
Bài viết đã chia sẻ đến bạn cách cài đặt, thiết lập script, lên lịch tự động bằng Cronjob và cả cách khôi phục dữ liệu khi cần, đảm bảo hệ thống của bạn luôn được bảo vệ và sẵn sàng phục hồi trong mọi tình huống. Chúc bạn có được những thông tin hữu ích và hẹn gặp lại bạn trong các bài viết tiếp theo của Nguyễn Hưng! Để biết thêm những kiến thức về VPS bạn có thể xem thêm các bài viết dưới đây.




