Если вы используете 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 -a из руководства для клиента dropbox.py file status -a
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
.
Первое редактирование - повторное редактирование из-за комментария Пола о dropboxd (daemon) против dropbox.py.
Это остается наиболее вероятным способом выяснить, что передается.
Я постараюсь отладить его сам, когда закончу свои отложенные задачи.
dropbox.py
должен быть отлажен с помощью pdb
(отладчик python), чтобы узнать больше об отладчике python.
Наконец, после комментариев Павла, я понял, в чем суть проблемы. Он хочет увидеть текущий доступный файл или, что еще лучше, файл , передаваемый клиентом синхронизации Dropbox.
Вы можете найти все файлы, используемые клиентом 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
.
Если вы не знакомы с этим процессом, вы можете проверить, например, этот хороший пост о Unix strace
и gdb
.
Просто быстрая помощь:
Когда вы начинаете трассировку с: strace dropboxd
(pid будет 501), тогда вы присоединяетесь к нему следующим образом:
$ gdb --quiet
(gdb) attach 501
- Если ничего не помогает, вы можете использовать другие способы синхронизации вашего Dropbox:
Например, используйте другой клиент Cli, такой как dbxcli.
Second Edit & Forth Edit - не будет работать, пока dropbox не будет поддерживать собственные закрытые ключи.
Ответ от поддержки Dropbox:
Dropbox не поддерживает создание ваших собственных закрытых ключей.
Мне пришло в голову, что должна быть возможность проверить, что передается, даже через инструмент мониторинга сети, такой как wireshark
.
Так как клиент Dropbox использует SSL/TSL (или AES) Архитектура безопасности Dropbox, и у вас должен быть ключ для проверки.
Для получения подробной информации о том, как использовать wireshare
вы можете проверить https://wiki.wireshark.org/SSL
или настроить этот пример для своего случая. Анализ трафика приветствия клиента SSL/TLS. Если у вас есть сертификат dropbox, вы можете импортировать его в wireshark, чтобы увидеть, что происходит. (Подробную информацию о безопасности Dropbox можно найти в техническом описании безопасности Dropbox.
Третий Edit & Forth edit - подробности о расшифровке SSL/TSL. (не будет работать, пока Dropbox не будет поддерживать собственные закрытые ключи.)
Ответ от поддержки Dropbox:
Dropbox не поддерживает создание ваших собственных закрытых ключей.
Во втором разделе редактирования я предложил, чтобы вы могли просматривать трафик SSL через wireshark. Поскольку Пол подумал, что я предлагаю вам на самом деле взломать DH key exchange
, что при нынешних знаниях невозможно, я бы хотел исправить это.
Я пытаюсь предложить, что если вы используете аутентификацию RSA и RSA для Dropbox Business , вы можете попробовать использовать dropboxd with RSA key
(демон dropboxd является закрытым исходным кодом, я не могу проверить исходный код, если функциональность есть). и, вероятно, лучшее решение - спросить у dropbox.com напрямую).
Если это возможно, только затем импортируйте RSA key
в wireshark, чтобы увидеть, что в данный момент передается.