rsyncでiconvとdeleteオプションを使ったら挙動が変

Macrsyncを使ってバックアップを取る際,OS標準のrsyncでは日本語が化けてしまう.

これを改善するためには,iconvオプションがあるHomebrew版を使えばよい.

しかし,deleteオプションも併用した際,本来対象とならないファイルまで削除対象とされてしまった.

最初のオプションはこんな感じ

rsync -nva --delete --iconv=UTF-8 ~/hoge/ /Volumes/backup/

iconvオプションなしなら,表示は化けるがちゃんとバックアップされる.

このiconvオプションを--iconv=UTF-8,UTF-8-MACにしたら,解決した.

rsync -nva --delete --iconv=UTF-8,UTF-8-MAC ~/hoge/ /Volumes/backup/

詳しいことはよくわからないが,--iconv=UTF-8-MAC,UTF-8でもダメだったので,順番も重要らしい.

余談だが,逆にWindowsとかで操作したファイルのバックアップをMacで取るとき,WindowsなのにNFD文字が含まれているときに (メールの添付ファイルとかで時々ある),some files vanishedとなってバックアップされないのはどうにもならない.