Trong bài viết này, chúng ta sẽ xem xét cách kết nối các dịch vụ lưu trữ đám mây miễn phí như Google Drive hoặc OneDrive trong Linux CentOS. Bạn có thể dùng chúng để sao lưu dữ liệu hoặc chỉ để trao đổi file giữa các máy chủ của mình. Ví dụ, bạn có thể cài đặt client lưu trữ đám mây trên máy tính để bàn Windows, tải file lên và tự động truy cập file chia sẻ từ Linux (hoặc ngược lại).
Thường các webmaster hoặc lập trình viên web không biết rằng họ có thể dùng lưu trữ đám mây nếu không đủ dung lượng trống trên máy ảo hoặc container. Trong công việc của tôi, tôi khuyên người dùng kết nối lưu trữ đám mây để lưu một số file họ không thường dùng hoặc để sao lưu trang web hoặc cơ sở dữ liệu MySQL/MariaDB ở đó.

Trong bài viết này, chúng ta sẽ xem cách kết nối hai kho lưu trữ miễn phí phổ biến nhất (OneDrive và Google Drive) với máy chủ chạy Linux CentOS 7.
Cách Mount Google Drive làm lưu trữ trong Linux?
Hãy xem cách kết nối Google Drive trên Linux CentOS 7. Cài đặt rất nhanh và đơn giản.
Tải client Google Drive bằng lệnh:
# wget -O drive https://drive.google.com/uc?id=0B3X9GlR6EmbnMHBMVWtKaEZXdDg
Di chuyển file vào /usr/sbin:
# mv drive /usr/sbin/drive
Thay đổi quyền file:
# chmod +x /usr/sbin/drive
Cài đặt Google Drive xong, bạn chỉ cần khởi động client và đăng nhập:
# drive
Truy cập liên kết sau trong trình duyệt:
https://accounts.google.com/o/oauth2/auth?client_id=367116221053-7n0vf5akeru7on6o2fjinrecpdoe99eg.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&state=state
Nhập mã xác minh:
Sao chép liên kết và mở nó trong trình duyệt trên máy tính của bạn và cho phép truy cập vào tài khoản Google của bạn.

Sau đó bạn sẽ nhận được liên kết để nhập vào console Linux của bạn:

Google Drive đã kết nối, nhưng nó không dùng giao thức WebDav (không được hỗ trợ). Vì vậy, bạn không thấy nó như một hệ thống file riêng biệt hoặc thư mục cục bộ. Bạn có thể truy cập Google Drive thông qua client drive.
Bạn có thể xem file trong Google Drive của mình bằng lệnh:
# drive list
File hiển thị dưới dạng bảng có bốn cột:
Id– mã file duy nhấtTitle– tên fileSize– kích thước fileCreated– ngày tạo
Để kiểm tra, chúng ta có thể tạo file và tải lên g.drive:
touch testdrive.txt && drive upload --file testdrive.txt
File đã được tạo, bạn có thể thấy nó trong console. Cũng đảm bảo file đã xuất hiện trong giao diện web Google Drive:
Mặc định, Google cung cấp 15GB dung lượng miễn phí trên Google Drive.
Vậy là chúng ta đã kết nối Google Drive với máy chủ Linux của mình. Tôi thích Google Drive vì bạn không phải làm gì trên máy chủ để mount lưu trữ đám mây sau mỗi lần khởi động lại máy chủ. Bạn có thể khởi động lại máy chủ bao nhiêu lần cần thiết và Google Drive sẽ tự động kết nối. Tuy nhiên, có một số nhược điểm: bạn không thấy lưu trữ đám mây như một thư mục riêng biệt trên máy chủ và không thể quản lý file ở cấp hệ thống file hoặc dùng các lệnh bash thông thường.
Mount OneDrive trong Linux
OneDrive là lưu trữ đám mây của Microsoft. Mặc định nó có sẵn cho tất cả người dùng Windows 10 với tài khoản liên kết (5GB được cung cấp miễn phí trong OneDrive). Nhiệm vụ của chúng ta là kết nối OneDrive trong CentOS 7. Trong quá trình cấu hình, tôi gặp nhiều vấn đề có thể giải quyết sau một chút thử nghiệm. Bạn chỉ cần đọc hướng dẫn và làm theo các bước này trên máy chủ của mình.
Trước hết, đăng ký qua liên kết này: https://onedrive.live.com
Sau đó cài đặt các gói cần thiết trong Linux CentOS bằng yum:
# yum groupinstall 'Development Tools' -y
# yum install libcurl-devel -y
# yum install sqlite-devel -y
Sau đó cài đặt ngôn ngữ lập trình D (dlang). Nó sẽ cần thiết để cài đặt client OneDrive:
# curl -fsS https://dlang.org/install.sh | bash -s dmd
Để chạy D (dlang), nhập lệnh này:
source ~/dlang/dmd-2.088.0/activate— trong trường hợp của bạn, phiên bản dmd có thể khác, vì vậy hãy chỉ định phiên bản bạn có.Sau khi chạy dlang, cài đặt client OneDrive:
cd /opt git clone https://github.com/abraunegg/onedrive.git cd onedrive ./configure make clean; make; sudo make install
Cài đặt xong, sau đó bạn phải kích hoạt client trong phiên bản web OneDrive. Chạy lệnh:
OneDriveHệ thống sẽ hiển thị liên kết bạn phải nhập vào trình duyệt. Nhấn Allow trong biểu mẫu yêu cầu truy cập web. Sau đó liên kết sẽ thay đổi thành liên kết duy nhất chứa mã bạn phải nhập vào console Linux.
Authorize this app visiting: https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=xxxxxx Enter the response uri https://login.microsoftonline.com/common/oauth2/nativeclient?code=xxxxxxSau khi xác nhận liên kết, tôi có thể đồng bộ với lưu trữ đám mây OneDrive:
# onedrive --synchronizeInitializing the Synchronization Engine ... Syncing changes from OneDrive ... Processing 6 changes Creating directory: Pictures Creating directory: Documents Downloading file Getting started with OneDrive.pdf ... done. Creating directory: backup Downloading file backup/test.txt ... done.Mặc định, thư mục /root/OneDrive chứa tất cả thư mục của lưu trữ đám mây của tôi đã được tạo trên máy chủ Linux.
# ls -la /root/OneDrive/Để kiểm tra, tôi tạo file test2.txt và đồng bộ kho lưu trữ:
# onedrive --synchronizeInitializing the Synchronization Engine ... Syncing changes from OneDrive ... Uploading new file ./backup/test2.txt ... done.File đã được tải lên đám mây OneDrive:
Để thay đổi thư mục mặc định, bạn phải thay đổi tham số
sync_dirtrong file cấu hình và chạy lệnh:# onedrive --synchronize --resyncInitializing the Synchronization Engine ... Syncing changes from OneDrive ... Processing 12 changesSau khi khởi động lại máy chủ, client OneDrive tự động khởi động và bạn không cần đăng nhập lại.
Trong bài tiếp theo, chúng ta sẽ xem cách dùng lưu trữ đám mây để sao lưu dữ liệu từ máy chủ Linux.

