2017-12-06 28 views
0

클라이언트에서 클라이언트가 제공 한 마운트 된 webdav와 폴더를 동기화하는 데 문제가 있습니다.webdav와 동기화하는 동안 여러 rsync가 있습니다.

먼저 webdav 폴더를/company/webdav에 마운트했습니다. 괜찮습니까?이 디렉토리를 탐색 할 수 있습니다.

mount -t davfs https://webdav.company.com/remote.php/webdav /company/webdav 

이 후 나는 내 로컬 라즈베리

rsync -av --delete-after --progress --partial --stats /company/webdav/Video/ /companylocal/video 

내가 더 함께 할 경우는, 작은 파일 (< 50메가바이트)와 함께 작동 보인다에 비디오 폴더의 동기화를하려면이 명령을 실행/companylocal/video에있는 파일 중복 된 부분 파일을 볼 수 있습니다.

루트 @ 파이/companylocal/비디오 # 1 LS -al 총 1,270,300 drwxr-XR-X 2 루트 루트 4096 십이 6 16시 3분. drwxr-xr-x 9 루트 루트 4096 12 월 6 일 15:45 .. -rw ------- 1 루트 루트 159383552 12 6 16:03. 스테이지 _ + _ FWB_Show.mp4.cL5tVu -rw --- ---- 1 루트 루트 595591168 12 월 6 일 15:54. 무대 _ + _ FWB_Show.mp4.hfti8J -rw ------- 1 루트 루트 159383552 12 월 6 일 16:03. 무대 _ + _ FWB_Show.mp4.JB0tfu - rw ------- 1 root root 159383552 12 6 16:03 .Backstage _ + _ FWB_Show.mp4.odvZEr -rw ------- 1 root root 159383552 12 월 6 일 16:03. 무대 _ + _ FWB_Show.mp4 .pM5wCu -rw ------- 1 루트 루트 67,633,152 십이 6 16시 3분 .Backstage _ + _ FWB_Show.mp4.WRljSA

또한 동기화하는 하나 개의 파일이 존재하지만, rsync와는 훨씬 더 많은 것을 얻음 프로세스

[email protected]:/companylocal/video# top 

    PID USER  PR NI VIRT RES SHR S %CPU %MEM  TIME+ COMMAND 
    975 davfs2 20 0 41524 4916 4088 D 2.6 0.5 2:24.78 mount.davfs 
    985 root  20 0 5064 1532 1040 S 2.3 0.2 0:04.68 rsync 
1320 root  20 0 5064 1568 1072 S 2.3 0.2 0:04.71 rsync 
1322 root  20 0 5064 1540 1040 S 2.3 0.2 0:04.63 rsync 
1352 root  20 0 5064 1540 1044 S 2.3 0.2 0:04.09 rsync 
    977 root  20 0 5092 2616 2112 D 2.0 0.3 0:03.70 rsync 
1314 root  20 0 5092 2608 2108 D 2.0 0.3 0:03.69 rsync 
1349 root  20 0 5092 2596 2092 S 2.0 0.3 0:03.37 rsync 
1423 root  20 0 5092 2476 2036 S 2.0 0.3 0:00.52 rsync 
1425 root  20 0 5064 1616 1132 S 2.0 0.2 0:00.46 rsync 

나는 이것이 일어날 수있는 이유를 이해하지 못했습니다.

문제는 : rsync가 동일한 파일을 병렬로 동기화하려고하면 대역폭이 높고 몇 분 후에 저장소가 가득 차게됩니다. 파일에는 2GB 및 10 개의 파일 x 2GB = 20GB 만 있으면 디스크 공간이 없어집니다.

(큰 파일은 owncloud-webdav를 통해) 및 rsync는 조합의 문제입니까? Apache를 통해 기본 webdav를 사용해야합니까? 또는 rsync 명령에 실수가 있습니까? 서버가 인식하게

답변

0

rsync 것 같은데 당신의 DAV-장착 FS에서 파일 청크를 받고 있지만, 지난 재 조립 단계 다른 클라이언트가 한 번 일반 purppose 동기화 엔진되고 있기 때문에 (다운로드 할 것이다 실종 상세). 수동으로 모든 청크를 순서대로 추가하면 원본 파일이 생성됩니다.

하지만 엄청난 수작업이 필요합니다. 대신 서버 기능을 알고 있고 트릭을 수행 할 수 있기 때문에 owncloudcmd을 사용하는 것이 좋습니다.

또한 대역폭 제한을 위해 rsync의 대역폭을 제한하기 위해 --bwlimit=<kb/second> 인수를 사용하여 네트워크 속도를 모두 조절하지 않아도됩니다. owncloudcmd에 해당하는 플래그는 곧 출시 될 2.4 버전에서 사용할 수 있습니다. https://github.com/owncloud/client/pull/5707