奇妙な文字を含むcp/rsync/etcファイルの拒否

奇妙な文字を含むcp/rsync/etcファイルの拒否

ファイル名に異常な文字を含むWindowsサーバーがあります。たとえば、(とのpicture.jpg間の異常な文字)です。e.jpg

私たちはそれを取り外し可能にインストールmount -t cifs -o 'ro,iocharset=utf8' //server/source-share /dest-path
iocharset=utf8しましたが、何も変わりませんでした。

私たちがそれを使用すると、すべてがうまく機能しますls。ただし、cp/rsync およびその他のコマンドは、次のファイルで失敗します。
cp -r /dest-path /tmp-->cp: cannot stat '/dest-path/picture .jpg': No such file or directory
特殊文字が空白で表示されることがわかります。

rsyncを使用すると、エラーはfile has vanished: "/dest-path/picture .jpg"(スペースも含む)です。

この問題を克服する方法についてのアイデアはありますか?

 

更新:提案をしよrsync -rhicovrsync -avとした。予想通り、これらのオプションはこの問題とは無関係であるため、改善はありません。
rsync -av /dest-path/* \tmp同じ結果を提供します(file has vanished
find /dest-path -name "*.jpg" -ls。うまくいきます。テストしたばかりの
find /dest-path -print0 | rsync -av --files-from=- --from0 ./ /tmpエラー:エラーrsync: link_stat "/dest-path/picture .jpg" failed: No such file or directory (2)
tar czf archive.tgz /dest-pathFile removed before we read it

注:ファイル名lsfind表示されますが、特殊文字は空白で表示されます(16進エディタで確認しました)。いくつかの他の特殊文字は正しく処理され、rsyncで正しく機能します。
したがって、これはCIFSモジュール内の問題である可能性があります。

ベストアンサー1

おすすめ記事