他の場所では見つからないので奇妙な質問ですが、まさにニッチな質問ではありません。
私のすべての音楽を別のサーバーにコピーしようとしていますが、ファイルは構造に従います[artist]/[artist] - [year] - [album]/[track]. [title]
。私はコマンドを使用しておりrsync -azH /path/to/music user@password:/remote/path/to/music
、ピリオドで終わるアルバムの曲を除いて、すべてがうまくコピーされます。これを使用すると、ディレクトリが作成されますがファイルがコピーされないため、エラーが発生しますrsync: mkstemp "/path/to/music/Dead Kennedys/Dead Kennedys - 1982 - Plastic Surgery DisastersIn God We Trust Inc./.01. Advice From Christmas Past.flac.UVzf3u" failed: No such file or directory (2)
。また注意してください.UVzf3u
。ファイルの末尾からそのファイルがどこから来たのかわかりませんが、実際のファイルは.flac
。
どんなアイデアがありますか?
答え1
ありがとう、これは私に答えを与えた。同じLinuxシステムでは、ext4からfat32サムドライブにrsyncを試してください。 rsyncが満足できなかったフォルダは100のうち3つでした。毎回ターゲットを削除して再コピーする必要があると主張します!フラッシュドライブには適していません。
詳細は、デバッグフラグ、情報フラグが何度も発生し、その理由がわかりません。必死に、githubのソースコードを少しずつ見てみましたが、手がかりがありませんでした。時間の無駄。
その後、ターゲットフォルダの末尾にピリオドがあり、ここにリンクされていることがわかりました。
roaimaはこれがrsyncのバグのような「既知の問題」と言っていましたが、完全には理解できませんでした。
Windows(およびLinux用のFATドライバ拡張)では、ファイル名またはフォルダがピリオドで終わることはできません。 https://stackoverflow.com/questions/11681207 慣れているようですが忘れました。
したがって、rsync:
- ターゲットフォルダ「foo」が見つかりません。
- 「foo」という宛先フォルダを見つけましたか?
- ターゲットから「foo」を削除する
- それから「foo」をもう一度コピーしてください!
- 「foo」という名前の別のターゲットフォルダを作成します! ! !
- すすぎ、繰り返します。
ソースフォルダ名を変更する以外に簡単な修正方法はありません。通常、必要に応じてUnicodeで同様の文字を選択します。