ในบทความนี้เราจะแนะนำวิธีการเชื่อมต่อพื้นที่จัดเก็บบนคลาวด์ฟรีอย่าง Google Drive และ OneDrive บน Linux CentOS คุณสามารถนำไปใช้สำหรับการสำรองข้อมูล หรือแลกเปลี่ยนไฟล์ระหว่างเซิร์ฟเวอร์ต่างๆ ตัวอย่างเช่น ติดตั้งไคลเอ็นต์คลาวด์สตอเรจบนเดสก์ท็อป Windows อัปโหลดไฟล์ แล้วเข้าถึงไฟล์เหล่านั้นจาก Linux ได้โดยอัตโนมัติ (หรือในทางกลับกัน)
บ่อยครั้งที่ผู้ดูแลเว็บหรือนักพัฒนาไม่รู้ว่าสามารถใช้พื้นที่จัดเก็บบนคลาวด์ได้เมื่อพื้นที่ว่างบนเครื่องเสมือนหรือคอนเทนเนอร์ไม่เพียงพอ ในงานของผม ผมแนะนำให้เชื่อมต่อคลาวด์สตอเรจเพื่อเก็บไฟล์ที่ไม่ได้ใช้บ่อย หรือสำรองข้อมูลเว็บไซต์และฐานข้อมูล MySQL/MariaDB ไว้ที่นั่น

บทความนี้จะ示วิธีเชื่อมต่อคลาวด์สตอเรจยอดนิยม 2 แบบ (OneDrive และ Google Drive) เข้ากับโฮสต์ที่รัน Linux CentOS 7
วิธี Mount Google Drive เป็นพื้นที่จัดเก็บใน Linux
มาดูวิธีเชื่อมต่อ Google Drive บน Linux CentOS 7 การติดตั้งรวดเร็วและง่ายมาก
ดาวน์โหลดไคลเอ็นต์ Google Drive ด้วยคำสั่ง:
# wget -O drive https://drive.google.com/uc?id=0B3X9GlR6EmbnMHBMVWtKaEZXdDg
ย้ายไฟล์ไปที่ /usr/sbin:
# mv drive /usr/sbin/drive
เปลี่ยนสิทธิ์ไฟล์:
# chmod +x /usr/sbin/drive
การติดตั้ง Google Drive เสร็จสิ้น ต้องเพียงเริ่มต้นไคลเอ็นต์และลงชื่อเข้าใช้:
# drive
เปิดลิงก์ต่อไปนี้ในเบราว์เซอร์:
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
ป้อนรหัสยืนยัน:
คัดลอกลิงก์และเปิดในเบราว์เซอร์บนคอมพิวเตอร์ของคุณ แล้วอนุญาตการเข้าถึงบัญชี Google

จากนั้นคุณจะได้ลิงก์สำหรับป้อนในคอนโซล Linux:

Google Drive เชื่อมต่อแล้ว แต่ไม่ได้ใช้โปรโตคอล WebDav (ไม่รองรับ) จึงไม่เห็นเป็นระบบไฟล์แยกหรือไดเรกทอรีท้องถิ่น คุณสามารถจัดการ Google Drive ผ่านไคลเอ็นต์ drive ได้
ดูไฟล์ใน Google Drive ด้วยคำสั่ง:
# drive list
ไฟล์จะแสดงเป็นตาราง 4 คอลัมน์:
Id– รหัสไฟล์เฉพาะTitle– ชื่อไฟล์Size– ขนาดไฟล์Created– วันที่สร้าง
ทดสอบโดยสร้างไฟล์และอัปโหลดไป Google Drive:
touch testdrive.txt && drive upload --file testdrive.txt
ไฟล์ถูกสร้างขึ้น แสดงในคอนโซล ตรวจสอบว่าปรากฏในเว็บอินเตอร์เฟซ Google Drive ด้วย
โดยค่าเริ่มต้น Google ให้พื้นที่ 15GB ฟรีบน Google Drive
เราเชื่อมต่อ Google Drive กับเซิร์ฟเวอร์ Linux เรียบร้อยแล้ว ผมชอบ Google Drive เพราะไม่ต้องทำอะไรบนเซิร์ฟเวอร์เพื่อ mount คลาวด์สตอเรจหลังรีสตาร์ทเซิร์ฟเวอร์ทุกครั้ง Google Drive จะเชื่อมต่ออัตโนมัติ แต่มีข้อเสียคือ ไม่เห็นคลาวด์สตอเรจเป็นไดเรกทอรีแยกบนเซิร์ฟเวอร์ และไม่สามารถจัดการไฟล์ระดับระบบไฟล์หรือคำสั่ง bash ปกติได้
การ Mount OneDrive ใน Linux
OneDrive เป็นคลาวด์สตอเรจของ Microsoft พร้อมให้ผู้ใช้ Windows 10 ที่เชื่อมโยงบัญชีใช้งานได้ (5GB ฟรี) ภารกิจคือเชื่อมต่อ OneDrive ใน CentOS 7 ระหว่างการตั้งค่าพบปัญหาหลายอย่างที่แก้ไขได้หลังจากทดลอง คุณเพียงต้องอ่านคำแนะนำและปฏิบัติตามขั้นตอนบนเซิร์ฟเวอร์ของคุณ
สมัครสมาชิกที่ลิงก์นี้: https://onedrive.live.com
ติดตั้งแพ็กเกจที่จำเป็นใน Linux CentOS ด้วย yum:
# yum groupinstall 'Development Tools' -y
# yum install libcurl-devel -y
# yum install sqlite-devel -y
ติดตั้งภาษาการเขียนโปรแกรม D (dlang) ซึ่งจำเป็นสำหรับติดตั้งไคลเอ็นต์ OneDrive:
# curl -fsS https://dlang.org/install.sh | bash -s dmd
เพื่อรัน D (dlang) ใช้คำสั่ง:
source ~/dlang/dmd-2.088.0/activate — ในกรณีของคุณ อาจเป็นเวอร์ชัน dmd อื่น ให้ระบุเวอร์ชันที่คุณมี
หลังจากรัน dlang แล้ว ติดตั้งไคลเอ็นต์ OneDrive:
cd /opt
git clone https://github.com/abraunegg/onedrive.git
cd onedrive
./configure
make clean; make;
sudo make install

ติดตั้งเสร็จแล้ว ต้องเปิดใช้งานไคลเอ็นต์ใน OneDrive เว็บเวอร์ชัน รันคำสั่ง:
OneDrive
ระบบจะแสดงลิงก์ที่คุณต้องเปิดในเบราว์เซอร์ คลิก Allow ในแบบฟอร์มขอสิทธิ์เข้าถึง จากนั้นลิงก์จะเปลี่ยนเป็นลิงก์เฉพาะที่มีรหัส ซึ่งคุณต้องป้อนในคอนโซล 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=xxxxxx
หลังยืนยันลิงก์แล้ว สามารถซิงโครไนซ์กับคลาวด์สตอเรจ OneDrive ได้:
# onedrive --synchronize
Initializing 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.
โดยค่าเริ่มต้น ไดเรกทอรี /root/OneDrive ที่มีโฟลเดอร์ทั้งหมดของคลาวด์สตอเรจถูกสร้างขึ้นบนโฮสต์ Linux
# ls -la /root/OneDrive/
ทดสอบโดยสร้างไฟล์ test2.txt และซิงโครไนซ์:
# onedrive --synchronize
Initializing the Synchronization Engine ... Syncing changes from OneDrive ... Uploading new file ./backup/test2.txt ... done.
ไฟล์ถูกอัปโหลดไปยัง OneDrive คลาวด์:

เพื่อเปลี่ยนไดเรกทอรีเริ่มต้น ต้องแก้ไขพารามิเตอร์ sync_dir ในไฟล์การตั้งค่า และรันคำสั่ง:
# onedrive --synchronize --resync
Initializing the Synchronization Engine ... Syncing changes from OneDrive ... Processing 12 changes
หลังจากรีสตาร์ทเซิร์ฟเวอร์ ไคลเอ็นต์ OneDrive จะเริ่มทำงานอัตโนมัติ และไม่ต้องลงชื่อเข้าใช้ใหม่
ในบทความหน้า เราจะพิจารณาว่าใช้คลาวด์สตอเรจสำรองข้อมูลจากเซิร์ฟเวอร์ Linux อย่างไร