Download và Upload lên Google Drive trực tiếp từ VPS

Chúng ta hầu như ai cũng có một tài khoản Google và ít nhiều sẽ sử dụng Google Drive cho việc lưu trữ file, chẳng hạn như sao lưu chẳng hạn.
Nói đến chuyện sao lưu dữ liệu, nếu bạn sử dụng WordPress thì có khá là nhiều Plugin giúp upload trực tiếp lên Google Drive. Nhưng nếu không dùng WordPress thì sao? Hay bạn muốn upload/download một file từ VPS hay có sẵn trên Drive thì phải làm sao với cái cửa sổ dòng lệnh?
Tải về máy rồi dùng SFTP, FTP … upload lên VPS lại thì có vẻ khả thi nếu tốc độ cao và có nhiều thời gian, nhưng nếu bạn không có một trong 2 điều đó thì sao?

Ở bài viết này, mình sẽ hướng dẫn cách Upload và Download trên Google Drive trực tiếp từ cửa số dòng lệnh của VPS.

Chuẩn bị

Một VPS (Tất nhiên)

Máy tính đăng nhập sẵn tài khoản Google

Công cụ Rclone

Hướng dẫn thực hiện

Sơ lược về Rclone

Rclone là một công cụ sử dụng dòng lệnh giúp đồng bộ, tải lên/xuống file hoặc thư mục, hỗ trợ các hệ điều hành như windows.
Hỗ trợ:

  • Google Drive
    Amazon S3
    Dropbox
    Microsoft OneDrive
    Yandex Disk
    SFTP
    FTP
    HTTP
    Và ngay cả trên máy đó cũng như còn nhiều nữa

Ngoài ra còn thêm các chức năng như : Check mã MD5/SHA1 để không tải 2 file giống nhau, giữ “thời gian truy cập gần nhất” của file, đồng bộ một chiều – sao chép – di chuyển các file từ 2 cloud khác nhau. Hay mount một cloud thành một ổ đĩa mạng

Ở đây mình chỉ tập trung đến Google Drive mà thôi

Chuẩn bị môi trường

Tải rclone ở link sau, cho Linux

x86: https://downloads.rclone.org/v1.40/rclone-v1.40-linux-386.zip
x64: https://downloads.rclone.org/v1.40/rclone-v1.40-linux-amd64.zip

Giải nén, sao chép file rclone trong thư mục vào /usr/bin

# wget https://downloads.rclone.org/rclone-v1.37-linux-amd64.zip && unzip -q rclone-v1.37-linux-amd64.zip && mv rclone-v1.37-linux-amd64/rclone /usr/bin

Hay sử dụng cài đặt tự động:

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

Tiếp theo, cấu hình cho rclone kết nối với Google Drive:

# rclone config

Nhập vào n > enter.

Nhập tên gọi cho cấu hình này, hãy làm sao cho dễ nhớ một tí, sẽ dùng nhiều sau này, mình chọn là dethoi, enter để qua bước tiếp theo

Ở đây Google Drive nằm ở số 8, nên nhập tiếp 8 > enter

Google Application Client Id - leave blank normally.
client_id>
Google Application Client Secret - leave blank normally.
client_secret>

Cứ để trống và enter ở 2 ô này.

Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine or Y didn't work

Tất nhiên sẽ nhập N rồi. Lúc này trên của sổ SSH sẽ hiện một đoạn link, bạn hãy copy đoạn link đó và dán vào trình duyệt bên máy tính. Rồi cấp quyền cho App Rclone truy cập Google Drive và copy đoạn code trên màn hình dán vào của sổ dòng lệnh,

Lúc này, nó sẽ hiệu thông báo kết nối để mình kiểu tra xem chính xác chưa. Còn báo lỗi thì hãy xem làm lại từng bước để kiểm tra kĩ có sai gì không.

Cách Upload và Download trên VPS với Rclone

Để sử dụng Rclone ta cần biết các lệnh sau:

  • rclone copy – Sao chép đến nơi chỉ định, bỏ qua nếu đã tồn tại
  • rclone move – Di chuyển đến nơi chỉ định
  • rclone delete – Lệnh xóa
  • rclone ls – Liệt kê danh sách và dung lượng

Cách Upload

Đầu tiên ta di chuyển đến vị trí file muốn tải lên, sau đó nhập theo cú pháp

rclone [copy]/[move] "[tên file muốn tải lên]" "[dethoi:/[thư mục]]"

Lệnh move hoặc copy tùy theo mục đích sử dụng, Nhớ hãy thay đổi dethoi thành tên cấu hình bạn tạo phía trên

Ví dụ:

rclone copy en_windows_server_2016_x64_dvd_9718492.iso "dethoi:ISO"

Cách Download

Tương tự như với tải lên, để tải xuống ta cũng dùng lệnh copy/move nhưng thay đổi về vị trí:

rclone [copy]/[move] "[dethoi:/[thư mục/tên file]]" "[tên file muốn đặt khi tải xuống]"

Ở đây muốn giữ nguyên tên file và lưu ở thư mục hiện tại thì hãy dùng dấu chấm .

rclone copy "dethoi:ISO/en_windows_server_2016_x64_dvd_9718492.iso" .

Để theo dõi quá trình này, có thể thêm -v hoặc -vv phía sau lệnh.

Nâng cao: Dùng VPS làm công cụ download/upload trực tiếp lên Google Drive

Với tốc độ của VPS thì việc tải lên xuống khá nhanh, hãy sử dụng các lệnh như wget, curl, axel để tải file và sau đó dùng rclone move để tải lên

Đây là hình ảnh mình tải một file nặng 5.5GB trực tiếp từ máy chủ lên Google Drive. Máy chủ ở mỹ thì nhanh hơn, nhưng do đây ở Hồng Kông nên thế:

Download và Upload lên Google Drive trực tiếp từ VPS

Mất ~2p30s để tải file này xuống máy chủ và 11p để tải lên. Chưa đầy 15p cho một file 5,5GB
Hãy tưởng tượng bạn sẽ cần phải tải một file 5,5GB xuống máy bạn, rồi sau đó upload 5,5GB đó lên Drive tốn thời gian đến mức nào.

Nếu bạn có câu hỏi, hãy để lại bình luận, mình sẽ luôn giải quyết mọi thắc mắc được đưa ra

One thought on “Download và Upload lên Google Drive trực tiếp từ VPS

Add Comment