Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

ซิงค์ Microsoft OneDrive กับ Linux ด้วย onedrive (CLI Client)

บางครั้งต้องใช้บริการคลาวด์ของบริษัทใหญ่ (Google, Amazon, Dropbox, Microsoft) แม้จะ open source enthusiast OneDrive เหมาะกับ Windows แต่เชื่อมต่อกับ Linux ได้ด้วย onedrive (CLI client)

OneDrive CLI Client (onedrive)

โปรเจกต์ abraunegg/onedrive บน GitHub — CLI client ซิงค์ OneDrive เร็ว สะดวก

ติดตั้ง Dependencies

Ubuntu

sudo apt install libcurl4-openssl-dev git libsqlite3-dev

Ubuntu 18.04+ ใช้ snap ติดตั้ง D compiler:

sudo snap install --classic dmd && sudo snap install --classic dub

Ubuntu เก่า:

sudo wget https://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
sudo apt-get update && sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring
sudo apt-get update && sudo apt-get install dmd-compiler dub

Fedora

sudo yum install libcurl-devel git sqlite-devel
curl -fsS https://dlang.org/install.sh | bash -s dmd

Arch Linux

sudo pacman -S curl sqlite dlang git

Build & Install

git clone https://github.com/abraunegg/onedrive.git
cd onedrive
./configure
make
sudo make install

Authorize กับ Microsoft

onedrive

จะให้ URL → เปิดในเบราว์เซอร์ → ล็อกอิน OneDrive → อนุมัติแอป → จะได้หน้าขาว URL → คัดลอก URL กลับมาใส่ในเทอร์มินัล → เสร็จสิ้นการตั้งค่า

เริ่มซิงค์

  • onedrive --synchronize: ดาวน์โหลดไฟล์ทั้งหมดจากคลาวด์ลงโฟลเดอร์โลคัล
  • onedrive --monitor: เฝ้าดูโฟลเดอร์โลคัล ซิงค์อัตโนมัติเมื่อมีการเปลี่ยนแปลง

การตั้งค่า (Configuration)

ไฟล์ config อยู่ที่ ~/onedrive/config ย้ายไป ~/.config/onedrive/config:

mkdir -p ~/.config/onedrive
cp ~/onedrive/config ~/.config/onedrive/config

แก้ไข 3 ตัวเลือกหลัก:

  • sync_dir: โฟลเดอร์เก็บไฟล์ OneDrive (ไฟล์ในนี้ = ซิงค์กับคลาวด์)
  • skip_files: รูปแบบไฟล์ที่ไม่ต้องการซิงค์
  • monitor_interval: ช่วงเวลาระหว่างการซิงค์ (monitor mode)

เซฟ → รีสตาร์ท onedrive ตรวจสอบ config: onedrive --display-config

Selective Sync (Sync List)

ไม่ต้องซิงค์ทั้งโฟลเดอร์: สร้างไฟล์ sync_list ใน ~/.config/onedrive/ ใส่ relative path ของไฟล์/โฟลเดอร์ที่ต้องการซิงค์ (เทียบจาก root ของ OneDrive)

รันอัตโนมัติตอนล็อกอิน

เพิ่ม onedrive --monitor ใน Startup Applications ของเดสก์ท็อป

อัปเดต 2019: ใช้ repo ที่ทำงานได้แล้ว