หากคุณอยู่บน linux มันค่อนข้างง่าย ระหว่างกระบวนการซิงค์คุณสามารถทำได้:
find $HOME/dropbox_sync_dir -type f -exec dropbox.py file status -a '{}' \; | grep 'syncing'
รายละเอียดการอธิบาย:
find <path> -type f -exec dropbox.py ... '{}' \;
ทำงานdropbox.py
กับทุกไฟล์หรือต่ำกว่าไดเรกทอรีปัจจุบัน
ขอให้สังเกตว่าเครื่องหมายวงเล็บอยู่ในเครื่องหมายอัญประกาศเดี่ยวเพื่อป้องกันการตีความเป็นเครื่องหมายวรรคตอนของเชลล์สคริปต์ เครื่องหมายอัฒภาคได้รับการป้องกันในทำนองเดียวกันโดยใช้เครื่องหมายแบ็กสแลช แต่สามารถใช้เครื่องหมายคำพูดเดี่ยวในกรณีนั้นได้
เพิ่มเติมเกี่ยวกับมนุษย์พบหน้า
dropbox.py file status -a
จากคู่มือไคลเอนต์ dropbox linux :
dropbox file status [-l] [-a] [FILE]…
Prints the current status of each FILE.
Options:
-l or --list prints out information in a format similar to the native Linux command ls.
-a or --all do not ignore entries starting with "."
ชื่อแทนรวมถึงสถิติ
| grep 'syncing'
ค้นหาสตริง 'ซิงค์'
หมายเหตุ: ปลาย. py ไม่ควรเป็นข้อบังคับควรมีชื่อแทนดังนั้นการเขียนdropbox
ควรจะเพียงพอ
แก้ไขครั้งแรก - แก้ไขอีกครั้งเนื่องจากความคิดเห็นของ Paul เกี่ยวกับ dropboxd (daemon) และ dropbox.py
นี่เป็นวิธีที่น่าจะเป็นไปได้มากที่สุดในการค้นหาสิ่งที่จะถ่ายโอน
ฉันจะพยายามแก้ไขข้อบกพร่องด้วยตัวเองเมื่อทำภารกิจที่ค้างอยู่เสร็จ
dropbox.py
ควรจะผ่านบั๊กpdb
(ดีบักหลาม) สำหรับข้อมูลเพิ่มเติมได้ที่หลามดีบัก
ในที่สุดหลังจากความคิดเห็นของเปาโลฉันเข้าใจว่าประเด็นหลักของปัญหาอยู่ที่ไหน เขาต้องการดูไฟล์ที่เข้าถึงในปัจจุบันหรือดีกว่าไฟล์ที่ถูกถ่ายโอนโดยไคลเอนต์ Dropbox sync
คุณสามารถค้นหาไฟล์ทั้งหมดที่ใช้โดยไคลเอนต์ dropbox ที่ใช้ในปัจจุบัน:
ls -thal /proc/`pgrep dropbox`/fd | egrep -v 'socket:|pipe:|anon_inode|/dev/'
หากคุณไม่สามารถมองเห็นสิ่งใดซึ่งหมายความว่ามีบางอย่างผิดปกติกับลูกค้า ฉันจะแนะนำการปฏิบัติstrace
To monitor your dropboxd script with output save into output.txt file:
`strace -o output.txt dropboxd`
To monitor only system calls you could enter:
`strace -e open dropboxd`
หากคุณต้องการลึกยิ่งขึ้นคุณสามารถแนบดีบักเกอร์เช่น
เซสชันgdb
ของคุณstrace
ถ้าคุณไม่คุ้นเคยกับกระบวนการนี้คุณสามารถตรวจสอบตัวอย่างเช่นนี้ดีโพสต์เกี่ยวกับยูนิกซ์และ strace
gdb
เพียงแค่ความช่วยเหลืออย่างรวดเร็ว:
เมื่อคุณเริ่มการติดตามของคุณด้วย: strace dropboxd
(การเรียกใช้ pid จะเป็น 501) จากนั้นคุณแนบมันด้วยวิธีต่อไปนี้:
$ gdb --quiet
(gdb) attach 501
- หากทุกอย่างล้มเหลวคุณสามารถใช้วิธีอื่นในการซิงค์ดรอปบ็อกซ์ของคุณ:
ตัวอย่างเช่นใช้ไคลเอ็นต์ CLI แตกต่างกันเช่นdbxcli
การแก้ไขครั้งที่สอง & การแก้ไขครั้งถัดไป - จะไม่ทำงานจนกระทั่งดรอปบ็อกซ์รองรับคีย์ส่วนตัวของตัวเอง
คำตอบจากการสนับสนุนดรอปบ็อกซ์:
Dropbox ไม่รองรับการสร้างคีย์ส่วนตัวของคุณเอง
wireshark
มันเกิดขึ้นกับผมว่ามันควรจะเป็นไปได้ที่จะตรวจสอบสิ่งที่จะถูกโอนแม้กระทั่งผ่านทางเครื่องมือการตรวจสอบเครือข่ายเช่น
เนื่องจากไคลเอนต์ดรอปบ็อกซ์ใช้ SSL / TSL (หรือ AES) สถาปัตยกรรมความปลอดภัยของดรอปบ็อกซ์และคุณควรมีคีย์เพื่อตรวจสอบ
สำหรับรายละเอียดวิธีการใช้งานwireshare
ที่คุณสามารถตรวจสอบhttps://wiki.wireshark.org/SSL
หรือปรับตัวอย่างนี้กับกรณีของคุณวิเคราะห์ SSL / TLS ไคลเอ็นต์สวัสดีจราจร ในคุณมีใบรับรองดรอปบ็อกซ์คุณสามารถนำเข้ามาที่ wireshark เพื่อดูว่าเกิดอะไรขึ้น (สำหรับรายละเอียดความปลอดภัยของ dropbox คุณสามารถตรวจสอบเอกสารความปลอดภัยของ Dropboxได้
การแก้ไขที่สาม & การแก้ไขทันที - รายละเอียดเกี่ยวกับการถอดรหัส SSL / TSL (จะไม่ทำงานจนกระทั่งดรอปบ็อกซ์รองรับคีย์ส่วนตัวของตัวเอง)
คำตอบจากการสนับสนุนดรอปบ็อกซ์:
Dropbox ไม่รองรับการสร้างคีย์ส่วนตัวของคุณเอง
ในส่วนแก้ไขที่สองฉันแนะนำว่าคุณสามารถดูปริมาณการใช้งาน SSL ผ่าน wireshark เนื่องจาก Paul คิดว่าฉันแนะนำว่าคุณควรแฮ็คข้อมูลจริงที่DH key exchange
ไม่สามารถทำได้ฉันจึงต้องการแก้ไข
สิ่งที่ฉันพยายามแนะนำคือถ้าคุณใช้การรับรองความถูกต้องของDropbox ธุรกิจ RSAและ RSA คุณสามารถลองใช้dropboxd with RSA key
(daemon dropboxd ปิดแหล่งที่มาฉันไม่สามารถตรวจสอบซอร์สโค้ดได้หากการทำงานอยู่ที่นั่นและน่าจะดีที่สุด วิธีแก้ปัญหาคือขอให้ dropbox.com โดยตรง)
หากเป็นไปได้ให้นำเข้าRSA key
สู่wiresharkเพื่อดูว่ากำลังถ่ายโอนอะไรอยู่