Trang chủDirectadminBài viết
Directadmin

Hướng dẫn dùng Rclone sao lưu VPS qua Google Drive, One Drive,…

18/01/2025 1170 lượt xem admin Cập nhật: 04/12/2025
5/5 - (590 bình chọn)

Đăng nhập, mở SSH terminal

Chạy lệnh cài Rclone lên VPS

Cài đặt RCLONE bản mới nhất với bất kỳ hệ điều hành nào:

curl https://rclone.org/install.sh | sudo bash

Ngoài ra bạn cũng có thể tham khảo ở trang chủ của RCLONE tại đây

Chạy lệnh config

rclone config

Nếu trên VPS của bạn chưa tạo kết nối nào thì sẽ nhận được thông báo No remotes found - make a new one

Nhập n rồi ấn Enter để tạo kết nối mới

Hướng dẫn dùng Rclone sao lưu VPS qua Google Drive, One Drive,…

Dòng name bạn nhập tên kết nối là VPS1 hoặc bất cứ tên nào cũng được (có phân biệt chữ hoa và thường).

Một danh sách các cloud server hỗ trợ hiện ra. Nhập vào 20 hoặc 36 rồi ấn Enter để chọn kết nối Google Drive hoặc One Drive (tùy phiên bản Rclone mà số này có thể thay đổi).

Tiếp theo nó sẽ hỏi Client IDClient Secret, bạn để trống rồi ấn Enter.

Đến phần Scope that rclone should use when requesting access from drive. Bạn chọn 1 – Full access all files…. Để cấp quyền truy cập toàn bộ file trên Google Drive.

Tiếp theo, mục service_account_file bạn để trống và ấn Enter

Nó sẽ hỏi Edit advance config? bạn nhập n rồi ấn Enter.
Use web browser to automatically authenticate rclone with remote? bạn nhập n rồi ấn Enter.

Nếu làm sai, gõ rclone config chọn e chọn 1 làm lại từ đầu

Hướng dẫn dùng Rclone sao lưu VPS qua Google Drive, One Drive,…

 

Tải zip Rclone về ổ D máy tính, giải nén vào thư mục D:\Rclone\

Đăng nhập và mở sẵn tài khoản Googe hoặc One Drive trên trình duyệt

Mở CMD trên máy tính, gõ lệnh di chuyển về ổ D: chạy lệnh sau
D:\Rclone\rclone.exe authorize "drive" nếu kết nối Google
D:\Rclone\rclone.exe authorize "onedrive" nếu kết nối One Drive

Hướng dẫn dùng Rclone sao lưu VPS qua Google Drive, One Drive,…

Rclone sẽ mở trình duyệt lên, bạn cho phép Rclone kết nối với Google Drive hoặc One Drive

Khi kết nối thành công, Rclone sẽ sinh 1 đoạn mã token trên CMD, bạn copy dán vào SSH teminal rồi Enter.

Hướng dẫn dùng Rclone sao lưu VPS qua Google Drive, One Drive,…

Nếu được hỏi Configure this is a team drive? thì gõ n rồi enter. Tiếp theo gõ y để confirm mọi thứ OK.

Cuối cùng gõ q để thoát config của Rclone:

Bây giờ bạn test thử với câu lệnh sau (thay remote_name bằng tên VPS1 bạn tạo khi kết nối với Google Drive):

rclone lsd remote_name:

Ví dụ:

Liệt kê toàn bộ thư mục.

rclone lsd VPS1:

Kiểm tra dung lượng còn trống của Google Drive

rclone about VPS1:

Nếu thành công câu lệnh trên sẽ liệt kê các thư mục trong Google Drive của bạn.

Script backup VPS và upload lên Google Drive

Bash Script backup Directadmin lên Google Drive

Tạo file backup.sh tại thư mục /root/

Tạo một file script có tên là backup.sh trong thư mục /root/: ​

nano /root/backup.sh

Nếu nano chưa được cài thì bạn sử dụng lệnh sau để cài đặt: apt-get install nano

Copy toàn bộ file script bên dưới vào file backup.sh.

 

#!/bin/bash


SERVER_NAME=BackupVPS1;
CONFIG_NAME=VPS1;
TIMESTAMP=$(date +"%F");
BACKUP_DIR="/home/admin/admin_backups/";
SECONDS=0;


# Kiểm tra cấu hình Rclone và thư mục backup
if ! rclone listremotes | grep -q "$CONFIG_NAME:"; then
    echo "Cấu hình rclone không tồn tại. Vui lòng kiểm tra lại CONFIG_NAME.";
    exit 1;
fi


if [ ! -d "$BACKUP_DIR" ]; then
    echo "Thư mục backup không tồn tại: $BACKUP_DIR. Kiểm tra lại đường dẫn.";
    exit 1;
fi


size=$(du -sh $BACKUP_DIR | awk '{ print $1}');
echo "Bắt đầu Backup Hệ thống $BACKUP_DIR";


# Di chuyển dữ liệu lên Cloud
rclone move $BACKUP_DIR "$CONFIG_NAME:$SERVER_NAME/$TIMESTAMP" -v >> /root/backup.log 2>&1;


# Dọn dẹp thư mục local
rm -rf $BACKUP_DIR/*;


# Xóa bản backup cũ hơn 2 tuần trên Cloud 
rclone -q --min-age 2w delete --rmdirs "$CONFIG_NAME:$SERVER_NAME";
rclone cleanup "$CONFIG_NAME:";


duration=$SECONDS;
echo "Tổng Kích thước là: $size, Backup lên Cloud trong $(($duration / 60)) Phút và $(($duration % 60)) giây."


# Đặt múi giờ
timedatectl set-timezone Asia/Ho_Chi_Minh;
echo "Múi giờ và Ngày Giờ trên VPS của Bạn là:";
timedatectl;


chmod 600 /root/backup.log
echo "Hoàn tất";

Một số chỗ bạn cần thay đổi như sau:

SERVER_NAME=BackupVPS1: tạo thư mục chứa backup tên BackupVPS1 trên GoogleDrive.

CONFIG_NAME=VPS1: tên remote VPS1 bạn thay bằng tên remote bạn đã tạo ở bước kết nối Google Drive.

BACKUP_DIR=”/home/admin/admin_backups/”: đường dẫn chứa file backup trên VPS (tùy Panel sẽ khác nhau)

Nhấn Ctrl+O rồi ấn Enter để lưu và Ctrl+X để thoát.

Cấp quyền thực thi cho file backup.sh

chmod +x /root/backup.sh

Nếu /home/admin/admin_backups/ đã có file

Bây giờ bạn test thử backup, hãy chạy lệnh sau:

/root/backup.sh

Để kiểm tra xem backup đã thành công thực sự hay chưa, bạn có thể vào Google Drive check lại.

Tạo cron job tự động chạy backup

Tạo Cronjob tự động backup Directadmin hằng ngày

Thường sẽ chọn script chạy lúc về đêm, khi đó lượng visit vào website ít nên không ảnh hưởng quá nhiều đến trải nghiệm của khách hàng khi sử dụng web.

Chạy câu lệnh sau để mở cron job: ​

EDITOR=nano crontab -e

Paste dòng sau vào cron job

0 5 * * * /root/backup.sh > /root/backup.sh.log 2>&1

Câu lệnh sau có nghĩa: 5h sáng hàng ngày sẽ backup VPS và lưu trên Google Drive.

Nhấn Ctrl+O rồi ấn Enter để lưu và Ctrl+X để thoát.

Bước 3: Tải backup từ Google Drive và khôi phục lại website

Trong trường hợp bạn muốn khôi phục lại website, bạn làm như sau:

Đầu tiên bạn tải toàn bộ backup về thư mục /root (nhớ thay tên remote bằng tên remote của bạn và diretory_name bằng thư mục trên Google Drive bằng tên của bạn).

Chào ! Bạn thấy nội dung này thế nào?
webdy.vn
webdy.vn

Tạo web nhanh dùng thử miễn phí.

Chia sẻ ↗

Bài liên quan

×