2008年 11月 30日 日曜日
Messages in cipher reflected in the looking glass
(JA) moving files with rsync
古い linux 環境から、新しい linux (CentOS 5.2) に
ファイルの移動を行いたかったので、あれこれ調べていたのですが、
rsync を使ってみました。メモがわりに書いておきます。
ファイルのコピーなら ftp や scp など色々あるのですが、
古い linux 環境には数は比較的少ないのですが、EUC-JPのファイルやディレクトリが存在しています。
新しいlinux環境がUTF-8がメインになっており、そろそろ UTF-8 への移行を考えていたため、
ファイルの文字コード変換が必要になります。
そこで、rsync を調べてみたところ、version 3以降に
--iconv でファイル名の文字コード変換が行えるようなので、これを活用してみました。
CentOS 5.2 に入っている rsync のバージョンは 2.6.8 のため、対応していません。
ということで、まず rsync 3.0.4 をインストール。
# tar xzvf rsync-3.0.4.tar.gz # cd rsync-3.0.4 # ./configure --prefix=/usr/local # make # make install
とお約束の作業で入ります。面倒だったので rpm 化はおこないませんでした。^-^;
リモートからのコピーの場合、
$ /usr/local/bin/rsync -a --iconv=EUC-JP,UTF8 user@xxx.xxx.xxx.xxx/* /hogehoge
という感じなんですが、古い方もちゃんと入っている必要があるのか、エラーで停止。
古い側もちゃんと文字コード対応が必要なんでしょうが、いじるのが面倒だったので、
古い linux 側の /etc/exports を変更後、/etc/init.d/nfsd restart でリスタートし、
/mnt としてマウント。その後、rsync で文字列変換コピーを行うという感じで処理してみました。^-^;
$ /usr/local/bin/rsync -a --iconv=EUC-JP,UTF8 /mnt/* .
とりあえず、ちゃんとコピーできたみたいです。
Posted at 06:44午後 11 30, 2008 by Yasuhiro Fujitsuki in Linux & Solaris |