Download và Upload lên Google Drive từ VPS Linux

Chúng ta hầu như ai cũng có một tài khoản Google và dùng nó để lưu trữ file, như sao lưu website chẳng hạn, hay đơn giản bạn muốn dùng vps để reup file lên google drive. Nếu bạn dùng vps windows thì chi phí sẽ lơn hơn vps linux. Ở 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ài khoản Google
  • Công cụ Rclone

Hướng dẫn Download và Upload lên Google Drive từ VPS Linux

Rclone là gì
Rclone là một công cụ đồng bộ hóa dữ liệu tương tự Rsync nhưng lại được tập trung phát triển chức năng kết nối với các dịch vụ lưu trữ đám mây. Ưu điểm của việc sử dụng dịch vụ lưu trữ đám mây đó là tốc độ cao (do có server được đặt trên khắp thế giới), an toàn dữ liệu (không lo ngại các vấn đề phần cứng, network) và nhất là hầu hết đều Free.

Rclone hỗ trợ rất nhiều dịch vụ Cloud thông dụng như:

  • Google Drive
  • Amazon S3
  • Openstack Swift / Rackspace cloud files / Memset Memstore
  • Dropbox
  • Google Cloud Storage
  • Amazon Drive
  • Microsoft OneDrive
  • Hubic
  • Backblaze B2
  • Yandex Disk
  • SFTP
  • The local filesystem

Cài đặt Rclone

– Cài đặt với phiên bản v1.42 hệ điều hành Linux 64bit

cd /root/
wget https://downloads.rclone.org/v1.42/rclone-v1.42-linux-amd64.zip
unzip rclone-v*.zip
\cp rclone-v*-linux-amd64/rclone /usr/sbin/
rm -rf rclone-*

– Cài đặt với phiên bản v1.42 hệ điều hành Linux 32bit

cd /root/
wget https://downloads.rclone.org/v1.42/rclone-v1.42-linux-386.zip
unzip rclone-v*.zip
\cp rclone-v*-linux-386/rclone /usr/sbin/
rm -rf rclone-*

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

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

Tạo kết nối với Google Drive

Kết nối SSH với VPS rồi chạy lệnh: rclone config

Nhập n để tạo kết nối mới. Đặt tên cấu hình, ở đây mình đặt là hastork nhé rồi nhấn Enter

Một danh sách các dịch vụ cloud xuất hiện, hãy chọn số 11, Google Drive rồi nhấn Enter.

Các mục tiếp theo bạn để trống, nhấn Enter

Mục Scope that rclone should use when requesting access from drive chọn 1

Khi được hỏi Use auto config? hãy nhập n rồi nhấn Enter. Ngay lập tức, Rclone sẽ đưa ra một đường link, bạn có thể click thẳng vào đó hoặc copy rồi paste vào trình duyệt.

Giao diện sẽ xuất hiện như sau:

Nhấn nút Allow để đồng ý, sau đó bạn sẽ nhận được đoạn mã verification code như hình dưới:

Quay trở lại cửa sổ SSH, copy rồi paste code này vào dòng Enter verification code> rồi nhấn Enter.

Chọn n tức no đối với Configure this as a team drive?

Rclone cần xác nhận thông tin một lần nữa, bạn nhấn y để đồng ý rồi nhấn q để thoát khỏi giao diện cấu hình kết nối.

Toàn bộ quá trình cài đặt sẽ tương tự như sau (màu đỏ là cần nhập input):

rclone config
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> hastork
Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Alias for a existing remote
   \ "alias"
 2 / Amazon Drive
   \ "amazon cloud drive"
 3 / Amazon S3 Compliant Storage Providers (AWS, Ceph, Dreamhost, IBM COS, Minio)
   \ "s3"
 4 / Backblaze B2
   \ "b2"
 5 / Box
   \ "box"
 6 / Cache a remote
   \ "cache"
 7 / Dropbox
   \ "dropbox"
 8 / Encrypt/Decrypt a remote
   \ "crypt"
 9 / FTP Connection
   \ "ftp"
10 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
11 / Google Drive
   \ "drive"
12 / Hubic
   \ "hubic"
13 / Local Disk
   \ "local"
14 / Mega
   \ "mega"
15 / Microsoft Azure Blob Storage
   \ "azureblob"
16 / Microsoft OneDrive
   \ "onedrive"
17 / OpenDrive
   \ "opendrive"
18 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
19 / Pcloud
   \ "pcloud"
20 / QingCloud Object Storage
   \ "qingstor"
21 / SSH/SFTP Connection
   \ "sftp"
22 / Webdav
   \ "webdav"
23 / Yandex Disk
   \ "yandex"
24 / http Connection
   \ "http"
Storage> 11
Google Application Client Id - leave blank normally.
client_id>
Google Application Client Secret - leave blank normally.
client_secret>
Scope that rclone should use when requesting access from drive.
Choose a number from below, or type in your own value
 1 / Full access all files, excluding Application Data Folder.
   \ "drive"
 2 / Read-only access to file metadata and file contents.
   \ "drive.readonly"
   / Access to files created by rclone only.
 3 | These are visible in the drive website.
   | File authorization is revoked when the user deauthorizes the app.
   \ "drive.file"
   / Allows read and write access to the Application Data folder.
 4 | This is not visible in the drive website.
   \ "drive.appfolder"
   / Allows read-only access to file metadata but
 5 | does not allow any access to read or download file content.
   \ "drive.metadata.readonly"
scope> 1
ID of the root folder - leave blank normally.  Fill in to access "Computers" folders. (see docs).
root_folder_id>
Service Account Credentials JSON file path  - leave blank normally.
Needed only if you want use SA instead of interactive login.
service_account_file>
Remote config
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
y) Yes
n) No
y/n> n
If your browser doesn't open automatically go to the following link: https://accounts.google.com/o/oauth2/auth?access_type=offlinexxxx
Log in and authorize rclone for access
Enter verification code> 4/AABw8gMKPxxxxxxxxxx
Configure this as a team drive?
y) Yes
n) No
y/n> n
--------------------
[remote]
type = drive
client_id =
client_secret =
scope = drive
root_folder_id =
service_account_file =
token = {"access_token":"xxx","token_type":"Bearer","refresh_token":"1/xxx","expiry":"2018-07-16T10:55:03.488381196+07:00"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:

Name                 Type
====                 ====
remote               drive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q

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]" "[hastork:/[thư mục]]"

Ví dụ:

rclone copy en_windows_server_2016_x64_dvd_9718492.iso "hastork: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] "[hastork:/[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 "hastork: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.

Chúc bạn thành công!

Add Comment