ในบทความนี้ เราจะพิจารณาวิธีเชื่อมต่อที่เก็บข้อมูลบนคลาวด์ฟรี เช่น Google Drive หรือ OneDrive ใน Linux CentOS คุณสามารถใช้เพื่อสำรองข้อมูลหรือเพียงเพื่อแลกเปลี่ยนไฟล์ระหว่างโฮสต์ของคุณ ตัวอย่างเช่น คุณสามารถติดตั้งไคลเอนต์ที่เก็บข้อมูลบนคลาวด์ในเดสก์ท็อป Windows ของคุณ อัปโหลดไฟล์ไปยังมัน และเข้าถึงไฟล์ที่แชร์จาก Linux โดยอัตโนมัติ (หรือกลับกัน)
บ่อยครั้งที่ผู้ดูแลเว็บหรือนักพัฒนาเว็บไม่ทราบว่าสามารถใช้ที่เก็บข้อมูลบนคลาวด์ได้ หากไม่มีพื้นที่ว่างเพียงพอบนเครื่องเสมือนหรือในคอนเทนเนอร์ ในงานของฉัน ฉันแนะนำให้ผู้ใช้เชื่อมต่อที่เก็บข้อมูลบนคลาวด์เพื่อจัดเก็บไฟล์บางไฟล์ที่ไม่ต้องการบ่อย หรือเพื่อสำรองเว็บไซต์หรือฐานข้อมูล MySQL/MariaDB ที่นั่น
ในบทความนี้ เราจะพิจารณาวิธีเชื่อมต่อพื้นที่เก็บข้อมูลฟรียอดนิยม (OneDrive และ Google ไดรฟ์) กับโฮสต์ที่ใช้ Linux CentOS 7
จะต่อเชื่อม Google ไดรฟ์เป็นที่เก็บข้อมูลใน Linux ได้อย่างไร
มาดูวิธีเชื่อมต่อ Google ไดรฟ์ บน Linux CentOS 7 การติดตั้งทำได้ง่ายและรวดเร็ว
ดาวน์โหลดไคลเอ็นต์ Google ไดรฟ์โดยใช้คำสั่ง:
# wget -O drive https://drive.google.com/uc?id=0B3X9GlR6EmbnMHBMVWtKaEZXdDg
ย้ายไฟล์ไปที่ /usr/sbin:
# mv drive /usr/sbin/drive
เปลี่ยนการอนุญาตไฟล์:
# chmod +x /usr/sbin/drive
การติดตั้ง Google ไดรฟ์สิ้นสุดลง คุณจะต้องเริ่มต้นไคลเอ็นต์และลงชื่อเข้าใช้:
# 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 ไดรฟ์แล้ว แต่ไม่ได้ใช้โปรโตคอล WebDav (ไม่รองรับ) . ดังนั้น คุณจะไม่เห็นว่าเป็นระบบไฟล์แยกต่างหากหรือเป็นไดเร็กทอรีในเครื่อง คุณสามารถระบุที่อยู่ Google Drive ผ่าน drive
ลูกค้า
คุณสามารถดูไฟล์ใน Google ไดรฟ์ได้โดยใช้คำสั่ง:
# drive list
ไฟล์จะแสดงเป็นตารางที่มีสี่คอลัมน์:
Id
– รหัสไฟล์ที่ไม่ซ้ำกันTitle
– ชื่อไฟล์Size
– ขนาดไฟล์Created
– วันที่สร้าง
ในการทดสอบ เราสามารถสร้างไฟล์และอัปโหลดไปยัง g.drive:
touch testdrive.txt && drive upload --file testdrive.txt
ไฟล์ถูกสร้างขึ้นแล้ว คุณสามารถดูได้ในคอนโซล ตรวจสอบให้แน่ใจด้วยว่าไฟล์นั้นปรากฏในอินเทอร์เฟซทางเว็บของ Google ไดรฟ์:
โดยค่าเริ่มต้น Google เสนอ 15GB พื้นที่บน Google Drive ฟรีดังนั้นเราจึงเชื่อมต่อ Google Drive กับเซิร์ฟเวอร์ Linux ของเรา ฉันชอบ Google Drive เนื่องจากคุณไม่ต้องทำอะไรบนเซิร์ฟเวอร์เพื่อเมานต์ที่เก็บข้อมูลบนคลาวด์หลังจากรีสตาร์ทแต่ละเซิร์ฟเวอร์ คุณสามารถรีสตาร์ทเซิร์ฟเวอร์ได้หลายครั้งตามความจำเป็น และ Google ไดรฟ์จะเชื่อมต่อโดยอัตโนมัติ อย่างไรก็ตาม มีข้อเสียอยู่บ้าง:คุณไม่เห็นที่เก็บข้อมูลบนคลาวด์เป็นไดเร็กทอรีแยกต่างหากบนเซิร์ฟเวอร์ และไม่สามารถจัดการไฟล์ในระดับระบบไฟล์หรือใช้คำสั่งทุบตีตามปกติได้
การติดตั้ง OneDrive ใน Linux
OneDrive เป็นที่เก็บข้อมูลบนคลาวด์โดย Microsoft โดยค่าเริ่มต้น จะพร้อมใช้งานสำหรับผู้ใช้ Windows 10 ทุกคนที่มีบัญชีที่เชื่อมโยง (5GB มีให้ใน OneDrive ฟรี) งานของเราคือเชื่อมต่อ 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
ระบบจะแสดงลิงค์ที่คุณต้องป้อนในเบราว์เซอร์ของคุณ คลิกอนุญาตในแบบฟอร์มเว็บของคำขอเข้าถึง จากนั้นลิงก์จะเปลี่ยนเป็นลิงก์เฉพาะที่มีรหัสที่คุณต้องป้อนในคอนโซล 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