Linuxボックスでrsyncを使用してWindowsボックスをLinuxボックス(Ubuntu 9.10)にバックアップしようとしていますが、ファイル名に異常な文字が含まれているファイル名に対して「ファイルが消えました」というエラーが表示されます。 rsyncの代わりに「cp」を使用すると、同様のエラー(「そのようなファイルまたはディレクトリはありません」)が発生します。英語のWindowsボックスの共有のソース。
文字の1つはアポストロフィ文字です。
私はさまざまな--iconvオプションをいじってみましたが、問題を解決できませんでした。提案?
Linux上のWindowsから共有をマウントし、rsyncを使用してファイルをローカルにコピーします。どのように共有をマウントしますか?
Windowsはファイル名をUTF8またはUTF16に格納する必要がありますが、共有を正しくマウントできるようにLinuxに通知する必要があります。マウントコマンドでutf8
/utf16
やiocharset=utf8
/iocharset=utf16
などのマウントオプションを使用します。
mount -t cifs -o utf16,other,options,here //server/share /path/to/mount/point
^^^^^^^^
|
-- if utf16 doesn't help, try iocharset=utf16
utf8 or iocharset=utf8 may also work
他のユーザーは、UTF16が正しい可能性が高いことを示しています。
これを回避する1つの方法は、特殊な文字ファイル名を持つ制限されたディレクトリの場合、ディレクトリをZipまたはtarし、そのディレクトリを除外してrsyncします(ただし、代わりにZip/tarファイルを含めます)。