지금 어떤 dropboxd가 동기화되고 있는지 확인할 수 있나요?

지금 어떤 dropboxd가 동기화되고 있는지 확인할 수 있나요?

Linux의 dropboxd용 dropbox.py 스크립트는 현재 상태를 제공합니다.

$ dropbox.py status 
Syncing (2,656 files remaining)
Uploading 2,656 files...  

또는 특정 파일이나 현재 폴더의 상태:

$ dropbox.py filestatus 
Camera Uploads:     up to date 
Customer Shares:    syncing

그런데 지금 실제로 어떤 파일이 전송되고 있는지 확인할 수 있는 방법이 있나요?

제가 묻는 이유는 보관용 계정이 며칠 동안 동기화가 멈췄지만 진행되지 않기 때문입니다. 이상하게 크거나 손상된 파일에 걸린 것 같습니다. 식별할 수 있으면 제거/무시할 수 있습니다.

메모

$ ls -l /proc/7857/fd

7857이 dropbox의 pid인 경우 동기화된 경로의 파일은 표시되지 않습니다.

dropboxd를 중지하고 디버거로 다시 실행하도록 요구하면 전송되는 내용이 표시되지 않습니다.지금. 데몬을 중지했다가 시작하면 동기화가 다시 색인화되고 다시 시작됩니다. 이로 인해 다른 파일 세트가 전송될 가능성이 높습니다.

어떤 제안이 있으십니까?

답변1

리눅스라면 아주 쉽습니다. 동기화 프로세스 중에 다음을 수행할 수 있습니다.

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 "."
    

    별칭에는 stat가 포함됩니다.

  • | grep 'syncing'

'동기화' 문자열을 검색합니다.

참고: .py 끝은 필수가 아니므로 별칭이 있어야 하므로 작성하는 것만으로도 dropbox충분합니다.

첫 번째 편집- dropboxd(데몬)와 dropbox.py에 대한 Paul의 의견으로 인해 다시 편집합니다.

이는 무엇이 전송되고 있는지 알아내는 가장 가능성 있는 방법입니다.

보류 중인 작업이 완료되면 직접 디버깅해 보겠습니다.

자세한 내용 은 Python 디버거를 dropbox.py통해 디버깅해야 합니다 .pdb파이썬 디버거.

마침내 Paul의 논평 후에 나는 문제의 핵심이 어디에 있는지 이해했습니다. 그는 보고 싶어한다현재 접근된 파일아니면 더 나은전송되는 것Dropbox 동기화 클라이언트에 의해.

  • 현재 사용되는 Dropbox 클라이언트에서 사용되는 모든 파일을 찾을 수 있습니다.

    ls -thal /proc/`pgrep dropbox`/fd | egrep -v 'socket:|pipe:|anon_inode|/dev/'
    
  • 아무것도 볼 수 없다면 아마도 클라이언트에 문제가 있다는 의미입니다. 공연 추천드려요스트레이스.

    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`
    
  • 더 깊이 들어가고 싶다면 첨부할 수 있습니다.디버거예를 들어 세션 gdbstrace.

    이 프로세스에 익숙하지 않은 경우 예를 들어 다음을 확인할 수 있습니다.우편유닉스 stracegdb.

간단한 도움:

다음을 사용하여 추적을 시작하면 strace dropboxd(실행 중인 pid는 501이 됩니다) 그런 다음 다음과 같은 방법으로 연결합니다.

$ gdb --quiet
(gdb) attach 501
  • 다른 모든 방법이 실패하면 다른 방법을 사용하여 보관용 계정을 동기화할 수 있습니다.

예를 들어 다음과 같은 다른 CLI 클라이언트를 사용하십시오.dbxcli.

두 번째 편집 및 네 번째 편집- Dropbox가 자체 개인 키를 지원할 때까지는 작동하지 않습니다.

보관용 계정 지원팀의 답변:

Dropbox는 개인 키 생성을 지원하지 않습니다.

와 같은 네트워크 모니터링 도구를 통해서도 무엇이 전송되는지 확인할 수 있어야 한다는 생각이 들었습니다 wireshark.

Dropbox 클라이언트가 SSL/TSL(또는 AES)을 사용하고 있으므로Dropbox 보안 아키텍처확인할 열쇠가 있어야합니다.

사용 방법에 대한 자세한 내용을 보려면 이 예를 귀하의 사례에 맞게 wireshare확인하거나 조정할 수 있습니다.https://wiki.wireshark.org/SSLSSL/TLS 클라이언트 Hello 트래픽 분석. Dropbox 인증서가 있으면 Wireshark로 가져와 무슨 일이 일어나고 있는지 확인할 수 있습니다. (드롭박스 보안 세부정보를 확인하려면Dropbox 보안 백서.

세 번째 편집 및 네 번째 편집- SSL/TSL 복호화에 대한 세부정보입니다. (dropbox가 자체 개인 키를 지원할 때까지는 작동하지 않습니다.)

보관용 계정 지원팀의 답변:

Dropbox는 개인 키 생성을 지원하지 않습니다.

두 번째 편집 섹션에서는 Wireshark를 통해 SSL 트래픽을 볼 수 있다고 제안했습니다. Paul은 현재 지식으로는 불가능한 를 실제로 해킹해야 한다고 제안하고 있다고 생각했기 때문에 DH key exchange이를 수정하고 싶습니다.

내가 제안하려는 것은 당신이 사용하는 경우드롭박스 비즈니스 RSARSA 인증을 사용하려면 다음을 사용해 볼 수 있습니다 dropboxd with RSA key(dropboxd 데몬은 비공개 소스이므로 해당 기능이 있으면 소스 코드를 확인할 수 없으며 아마도 가장 좋은 해결책은 dropbox.com에 직접 문의하는 것입니다).

가능하다면 다음으로 가져오십시오 RSA key.와이어샤크현재 전송되고 있는 내용을 확인하려면

관련 정보