SMB 서버에서 Linux로 디렉토리를 복사하는 방법은 무엇입니까?

SMB 서버에서 Linux로 디렉토리를 복사하는 방법은 무엇입니까?

smb://source/pathSMB 링크의 디렉토리를 Linux 시스템으로 복사하려고 합니다.

나는 열심히 노력했다

rsync -av //source/path /destination/path

그리고

rsync -av smb://source/path /destination/path

하지만 "해당 파일이나 디렉터리가 없습니다." 오류가 발생합니다.

이 작업을 수행하는 방법에 대한 제안 사항이 있습니까?

답변1

안타깝게도 rsyncWindows SMB 파일 공유에 직접 액세스할 수는 없습니다. 를 사용할 수 있어야 합니다 SMB protocol.

그리고smbclient, 나는 당신이 다음과 같은 일을 하고 싶어할 것이라고 믿습니다:

smbclient //source/path -c 'lcd /destination/path ; recurse; mget *'

mount.cifs또는 가지고 있는 경우 다음을 사용할 수 있습니다.

mkdir /source_path
mount.cifs //source/path /source_path -o user=windowsuser
rsync -av /source_path /destination/path 

물론, 마운트가 성공한 후에는 /source_path로컬 경로처럼 접근이 가능하므로 cp -a복제 작업에도 활용할 수 있습니다.

또는 다음을 설치할 수 있습니다.델타 복제 서버Windows 시스템의 경우: rsyncWindows 측에 호환 가능한 서버를 제공 하므로 rsync다음과 같이 사용할 수 있습니다.

rsync -av windowsuser@source::path /destination/path

이 경우 path소스는 DeltaCopy 서버에 구성된 "가상 디렉터리 정의"를 기반으로 하며 Windows SMB 공유와는 아무 관련이 없습니다.

답변2

당신은 사용해 볼 수 있습니다an smbclient, Samba와 함께 제공:

smbclient //source/path -c 'cd c:/destination/path ; put local-file'

이 경우 클라이언트 컴퓨터가 서버 역할을 합니다. 제대로 작동하려면 SMB를 통해 폴더나 드라이브를 공유해야 합니다.

관련 정보