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を介してフォルダまたはドライブを共有する必要があります。

関連情報