บางครั้งต้องใช้บริการคลาวด์ของบริษัทใหญ่ (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 ที่ทำงานได้แล้ว