web-dev-qa-db-ja.com

Rsync文字セットの問題

Linuxボックスでrsyncを使用してWindowsボックスをLinuxボックス(Ubuntu 9.10)にバックアップしようとしていますが、ファイル名に異常な文字が含まれているファイル名に対して「ファイルが消えました」というエラーが表示されます。 rsyncの代わりに「cp」を使用すると、同様のエラー(「そのようなファイルまたはディレクトリはありません」)が発生します。英語のWindowsボックスの共有のソース。

文字の1つはアポストロフィ文字です。

私はさまざまな--iconvオプションをいじってみましたが、問題を解決できませんでした。提案?

6
Nerdfest

Linux上のWindowsから共有をマウントし、rsyncを使用してファイルをローカルにコピーします。どのように共有をマウントしますか?

Windowsはファイル名をUTF8またはUTF16に格納する必要がありますが、共有を正しくマウントできるようにLinuxに通知する必要があります。マウントコマンドでutf8/utf16iocharset=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が正しい可能性が高いことを示しています。

7
quack quixote

これを回避する1つの方法は、特殊な文字ファイル名を持つ制限されたディレクトリの場合、ディレクトリをZipまたはtarし、そのディレクトリを除外してrsyncします(ただし、代わりにZip/tarファイルを含めます)。

0
nik