전체 webdav 디렉토리를 재귀적으로 복사/다운로드하려면 어떻게 해야 합니까?

전체 webdav 디렉토리를 재귀적으로 복사/다운로드하려면 어떻게 해야 합니까?

Nautilus를 사용하여 webdav 서버에서 로컬 디스크로 폴더를 복사하려고 하면 매니페스트 파일(디렉토리 목록이 포함된 xml 등)로 보이는 파일이 복사됩니다. 시체를 사용하면 빈 파일을 얻습니다.

전체 디렉토리 트리를 재귀적으로 복사하고 싶습니다. 내가 어떻게 할 수 있는지 아는 사람 있나요?

추신: 저는 Nautilus 2.32.2.1 및 Cadaver 0.23.3과 함께 Ubuntu 11.04를 사용하고 있습니다.

답변1

이 답변은 @Ocaso 및 @Rinzwind의 의견에 제공된 제안을 요약합니다.

나는 이것을 사용했습니다 :

wget -r -nH -np --cut-dirs=1 --no-check-certificate -U Mozilla --user={uname} 
    --password={pwd} https://my-host/my-webdav-dir/my-dir-in-webdav

완벽하지는 않지만('index.html?C=M;O=D' 등을 많이 다운로드함) 그 외에는 정상적으로 작동했습니다.

"-r"은 링크를 따라 반복적으로 다운로드됩니다.

"-np"는 상위 디렉토리로 올라가는 것을 방지합니다(그렇지 않으면 전체 웹사이트를 다운로드합니다!).

"-nH"는 "my-host"라는 디렉토리 생성을 방지합니다(원하는 바는 아닙니다).

"--cut-dirs=1"은 "my-webdav-dir"이라는 디렉터리 생성을 방지합니다.

"--no-check-certificate"는 webdav 서버에서 자체 서명된 인증서를 사용하고 있기 때문입니다(https도 강제합니다).

"-U Mozilla"는 http 요청의 사용자 에이전트를 "Mozilla"로 설정합니다. 내 webdav 서버에는 실제로 이것이 필요하지 않았지만 어쨌든 포함했습니다.

답변2

또는 자체 파일 시스템의 일부로 액세스할 수 있는 경로로 마운트할 수 있습니다.

sudo mount -t davfs https://your.remote/path /your/local/mount/point

참고: /your/local/mount/point이것이 작동하려면 실제 존재하는 디렉토리여야 합니다.

내가 아는 한, 명령이 작동하도록 하려면 다음을 실행하기만 하면 됩니다. sudo apt-get install davfs2(더 많은 구성이 필요하다면 사과드립니다. 이 작업을 수행한 것은 오래 전이었습니다.)

(Liam의 답변이 충분한 정보를 제공하지 않았다고 생각하여 이것을 답변으로 추가했습니다.)

답변3

나는 이것이 오래된 질문이라는 것을 알고 있지만 나는 이것을하고 싶었고 발견했습니다.rc클론이는 클라우드의 rsync와 같으며 WebDAV를 포함한 다양한 프로토콜을 지원합니다. rclone config리모컨을 구성한 다음 수행하면 int rclone copy remote:path .가 모든 것을 다운로드합니다. 또한 rclone sync remote:path .파일을 확인하고 업데이트만 복사할 수도 있습니다. golang 프로그램이므로 이식성이 매우 좋습니다.

답변4

dav2fs를 사용하여 webdav 서버를 마운트한 다음 로컬 디렉터리처럼 액세스할 수 있습니다.

관련 정보