ฉันจะเชื่อมต่ออุปกรณ์ Android ของฉันกับเพลง rsync (หรือสิ่งอื่น ๆ ) ได้อย่างไร?
ฉันจะเชื่อมต่ออุปกรณ์ Android ของฉันกับเพลง rsync (หรือสิ่งอื่น ๆ ) ได้อย่างไร?
คำตอบ:
มันง่ายกว่าที่ทุกคนพูดก่อนอื่นให้สังเกตว่าเมื่อ GVFS เมานท์ MTP เมานท์มันจะพร้อมใช้งาน คุณสามารถบังคับได้โดยเปิดโทรศัพท์ขึ้นในไฟล์กราฟิก - เบราว์เซอร์ (thunar / nautilus / etc)
/run/user/$UID/gvfs
เข้าไปข้างใน สมมติว่าคุณมีอุปกรณ์ mtp หนึ่งตัวสิ่งนี้ควรใช้งานได้:
$ cd /run/user/$UID/gvfs/mtp*
ค้นหาตำแหน่งที่คุณต้องการถ่ายโอนไฟล์ด้วยแล้ว rsync ไฟล์เหล่านั้น
$ cd SanDisk\ SD\ card/Movies/
$ pwd # prints "/run/user/1000/gvfs/mtp:host=%5Busb%3A003%2C096%5D/SanDisk SD card/Movies"
$ rsync --verbose --progress --omit-dir-times --no-perms --recursive --inplace ~/Videos/ ./
--inplace
: ฉันขอแนะนำให้ใช้--inplace
หากไม่มี mtp ที่อาจต้องการคัดลอกไฟล์ใหม่แล้วเปลี่ยนชื่อเป็นไฟล์เก่า ซึ่งอาจส่งผลให้คัดลอกไฟล์ไปยังการ์ด SD สองครั้ง: หนึ่งครั้งสำหรับการถ่ายโอน mtp ไปยังการ์ด SD และอีกครั้งเพราะไดรเวอร์ MTP อาจไม่รองรับ (mv) อาจ (cp / rm) ใต้ฝากระโปรงเพื่อความปลอดภัย .--verbose
, --progress
, --recursive
แต่พวกเขากำลังสวยเอกสารด้วยตนเอง--omit-dir-times
--no-perms
เป็นสิ่งจำเป็นเนื่องจาก mtp ไม่รองรับสิ่งนั้น--omit-dir-times --no-perms --ignore-existing
ฉันจะเพิ่มตัวเลือกต่อไป Rsync ไม่สามารถตั้งค่าการประทับเวลาของไดเรกทอรีผ่าน MTP ฉันค่อนข้างมั่นใจว่า "ไม่มีการอนุญาต" เป็นค่าเริ่มต้น แต่ฉันต้องการระบุ การเพิกเฉยไฟล์ที่มีอยู่จะช่วยให้สามารถเลือกได้ว่าจะทิ้งที่ไหน
--ignore-existing
? นั่นเป็นเพียงการสูญเสียความซ้ำซ้อน คุณสามารถ--size-only
ลดการซิงค์ลงในรายชื่อไดเรกทอรีได้ตลอดเวลา ฉันจะเพิ่ม--omit-dir-times
และ--no-perms
เพราะนั่นฟังดูมีประโยชน์และฉันดูเหมือนจะจำได้ว่าได้รับข้อผิดพลาดในตอนท้ายเกี่ยวกับเรื่องนั้น
--ignore-existing
พยายามในการซิงค์ไฟล์ทั้งหมด ฉันชอบ--size-only
คำแนะนำของคุณ ฉันจะลองอีกครั้งแทน
~/Videos/ ./
ฉันพบวิธีแก้ปัญหานี้:
แก้ไข local ssh-config เพื่อเปลี่ยนพอร์ตเริ่มต้นสำหรับโฮสต์ "android"
.ssh/config
host android
Port 2222
rsync -rvlc Music android: SDCardLink /
ปรับปรุง
ฉัน prefere -rvlc
ไป-a
ตั้งแต่ที่คุณได้รับจำนวนมากของคำเตือนตั้งแต่การตั้งค่าสิทธิ์และใช้เวลาแสตมป์ไม่ทำงาน ตัวเลือก-c
ทำให้การซิงค์ที่สองเร็วขึ้นมาก
ฉัน prefere -rvl --size-only
ไป-a
ตั้งแต่ที่คุณได้รับจำนวนมากของคำเตือนตั้งแต่การตั้งค่าสิทธิ์และใช้เวลาแสตมป์ไม่ทำงาน ตัวเลือก--size-only
ทำให้การซิงค์ที่สองเร็วขึ้นมาก
น่าเสียดายที่มันต้องใช้เวลาพอสมควรสำหรับแอปเพลงเพื่อดูไฟล์ใหม่ การรีสตาร์ทอุปกรณ์ช่วย
rsync -avz -e 'ssh -p 2222' Music android:SDCardLink/
( stackoverflow.com/a/4630407/399105 )
--size-only
จะเป็นทางออกที่เร็วที่สุด อย่างไรก็ตามมันไม่ได้ช่วยประหยัดเท่า-c
192.168.1.5
ซึ่งอาจแตกต่างกันทุกครั้ง:rsync -avzhP --inplace --info=progress2 -e 'ssh -p 2222' 192.168.1.5:/storage/emulated/0/DCIM/Camera/ /home/username/path/to/pics/
การสำรองข้อมูล rsync สำหรับ Androidสามารถกำหนดค่าให้ซิงค์ย้อนกลับนั่นคือจากโฮสต์ Linux ไปยังอุปกรณ์ Android
และด้วยความช่วยเหลือจากLlamaLab Automateเราสามารถกำหนดค่าอุปกรณ์ Android ให้ rsync โดยอัตโนมัติตามเงื่อนไขเฉพาะเช่น: