Mac OS Xにrsync3をインストールした

いい加減、覚えようと思っていたrsyncコマンドですが、
ターミナルの表示が文字化けするしで、いろいろ調べてみました。

まず、今使っているMac OS Xのバージョンは、10.7.5です。
次に、以下を参考にしました。

カテゴリー名に濁点を含んだ日本語が使えない問題を解決する(Rsyncのiconvオプションを使う)
http://gam0022.net/blog/2012/08/11/use-rsync-iconv-option/

なので、rsync3のインストール手順はこんな感じ。
$ brew tap homebrew/dupes
$ brew install libiconv
$ brew install rsync

perlでバックアップスクリプトを作成

use strict;
use warnings;
use utf8;
use feature qw/say/;

binmode( STDOUT, ':utf8' );

my $src = '/foo'; # コピー元
my $dst = '/bar'; # コピー先

my $dryrun = 0;
foreach my $opt (@ARGV) {
    if ( $opt eq '--dry-run' or $opt eq '-n' ) {
        $dryrun = 1;
    }
    else {
        die "$opt is bad option.";
    }
}

my @opts = (
    '-av',
    '--delete',
    "--exclude '.DS_Store'",
    '--iconv=UTF-8-MAC,UTF-8'
);

if ( $dryrun ) {
    push @opts, '--dry-run';
}

say 'backup start!';
my $command = 'rsync ' . join(' ', @opts) . " \"$src\" \"$dst\"";
say $command;

if ( system($command) != 0 ) {
    say 'rsync faild.';
}

__END__

これで、ターミナルで文字化けしなくなりました。
次に、--dry-runを外して実行しても動きました。

ここ疑問なんですが、ファイルコピーがMacの中で閉じてる場合でも、
--iconv=UTF-8-MAC,UTF-8付けっぱでもいんですかね?

おしまい。

Leave a Comment