Macでrsyncを使ってバックアップを行うと日本語ファイル名が正しく表示されなかったりします。実害としては表示が冗長になり見づらくなるのと、ログ関係でしょうか。
目的
Macにてrsync時に日本語ファイル名を正しく表示させる。
環境と解決方法
Mac OS X - El Capitan
Homebrew
rsyncにiconvオプションで文字エンコードを教えてあげれば解決します。
ただ、標準のrsyncだとiconvに対応していないようなので更新します。
記事投稿時だとrsyncのバージョンが3.1.2を使用できるようになります。
元が2.6.9で rsync --help
してもiconvの記述が見当たりませんでした、OS X標準のrsyncのバージョンによっては初めから対応している可能性があるのでチェックしてみましょう。
Homebrewをインストールする
導入済みならスキップで、ない場合は 公式 からコマンドをもらってきてターミナルでインストールすればOKです。
2016/02現在のコマンドは
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
dupesのリポジトリを登録する
個人的にはいろんなリポジトリを登録すると煩雑になるので嫌なのですが、有名ドコロですし公式だけでは達成不可能なのでいれますー。
brew tap homebrew/dupes
ちなみに登録されているリポジトリ一覧は brew tap
で確認できますので brew untap ~
で登録解除も可能です。
rsyncを更新してiconvのlibも導入
homebrew/dupes/rsync がiconvに対応しているようなので、これを導入し、iconvのlibもシステムへ入れます。
brew install homebrew/dupes/rsync homebrew/dupes/libiconv
使ってみる
と言ってもインストールしてすぐには使えません、コンソールを再起動(新しくコンソール開けばおk)してください。
rsync --iconv=UTF-8-MAC,UTF-8 <SOURCE> <DEST>
これで日本語表示できるようになりました。
あとがき
やっと古いデータの長時間バックアップで進捗が分かるようになるー!
ちなみにバックアップは簡単に
rsync --iconv=UTF-8-MAC,UTF-8 -auv <SOURCE> <DEST>
としています。