Dùng Rclone tự động Backup Source và Upload lên Google Drive

Sao lưu dữ liệu trên máy chủ là công việc rất quan trọng để đảm bảo an toàn dữ liệu. Ví dụ việc sao lưu dữ liệu Website sẽ giúp các bạn phục hồi website nhanh chóng khi có sự cố xảy ra.
Bài viết này sẽ hướng dẫn các bạn tạo script tự động sao lưu dữ liệu Website (source, database, web server config file) lên Google Drive.

Cài đặt Rclone

Rclone là công cụ giúp đồng bộ hóa dữ liệu có khả năng kết nối với các dịch vụ lưu trữ đám mây. Điều này đảm bảo cho dữ liệu được an toàn và tốc độ sao lưu cực nhanh.

Rclone hiện tại hỗ trợ kết nối tới rất nhiều dịch vụ lưu trữ như:

  • Amazon Drive
  • Amazon S3
  • DigitalOcean Spaces
  • Dropbox
  • Google Cloud Storage
  • Google Drive
  • Mega
  • Microsoft Azure Blob Storage
  • Microsoft OneDrive
  • Và các dịch vụ khác được liệt kê ở đây 

Bài viết này sẽ hướng dẫn kết nối Rclone với Google Drive, các dịch vụ khác hẹn các bạn ở những bài viết tiếp theo nhé.

Các bạn cài đặt Rclone theo các bước sau:

mkdir -p /home/backup

#Đối với Linux 64 bit:
cd /home/backup
wget https://downloads.rclone.org/v1.41/rclone-v1.41-linux-amd64.zip
unzip rclone-v*.zip
\cp rclone-v*-linux-amd64/rclone /usr/sbin/
rm -rf rclone-*

#Đối với Linux 32bit
cd /home/backup
wget https://downloads.rclone.org/v1.41/rclone-v1.41-linux-386.zip
unzip rclone-v*.zip
\cp rclone-v*-linux-386/rclone /usr/sbin/
rm -rf rclone-*

Dùng lệnh rclone để kiểm tra, ví dụ:

[root@itfromzero backup]# rclone version
rclone v1.41
- os/arch: linux/amd64
- go version: go1.10

Tạo kết nối từ server đến Google Cloud

Kết nối đến server qua SSH và sử dụng lệnh: rclone config

Sau đó tương ứng với mỗi thông báo thì bạn cấu hình như sau:

No remotes found – make a new one Nhập n -> Enter

name> Bạn nhập tên kết nối. vd: upload_google_drive -> Enter

Choose a number from below, or type in your own value
<Danh sách Cloud Server>
Storage>  Chọn 11 để kết nối đến Google Drive -> Enter

client_id = Để trống -> Enter
client_secret = Để trống -> Enter

Scope that rclone should use when requesting access from drive. Chọn 1 – Full access all files… -> Enter

root_folder_id = Để trống -> Enter
service_account_file = Để trống -> Enter

Use auto config? Chọn n -> Enter

If your browser doesn’t open automatically go to the following link: https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=xxxxxxx

Bạn copy link trên, mở bằng trình duyệt, sau đó đăng nhập bằng user google drive -> Chọn Allow/Đồng Ý để cấp quyền truy cập. Sau đó copy dòng Code hiện ra.

Enter verification code> Dán dòng code đã copy ở trình duyệt vào đây -> Enter

Configure this as a team drive? Chọn n -> Enter

Sau đó Chọn y để đồng ý và q để thoát.

Sau khi cấu hình xong sử dụng lệnh sau để kiểm tra:

rclone lsd gdrive:

Tổng hợp lệnh:

rclone config

n/s/q> n         # New
name>gdrive      # Gdrive is an example name
Storage>         # Select the number shown for Google Drive
client_id>       # Can be left blank
client_secret>   # Can be left blank
scope>           # Select your scope, 1 for example
root_folder_id>  # Can be left blank
service_account_file> /home/foo/myJSONfile.json # This is where the JSON file goes!
y/n>             # Auto config, y

Script tự động backup và upload lên google drive

Tạo file backup.sh bằng lệnh:

vim /home/backup/backup.sh
-------
rclone copy --include "*" link-source remote:link-destination

Lập lịch backup

Sử dụng Crontab để lập lịch chạy script

Dùng lệnh sau để chỉnh sửa crontab:

crontab -e

Nội dụng tương tự như sau:

#
# Crontab - Auto backup
#
0 3 * * * python /home/backup/backup.sh > /dev/null 2>&1

Nhấp ESC :wq để thoát.

0 3 * * * có nghĩa là chạy script hàng ngày vào lúc 3:00

Hi vọng bài viết trên sẽ giúp cho công việc backup dữ liệu của các bạn trở nên nhẹ nhàng hơn. Chúc các bạn thành công.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

icons8-exercise-96 chat-active-icon
chat-active-icon