(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/\* .

とりあえず、ちゃんとコピーできたみたいです。

投稿されたコメント:

コメント
コメントは無効になっています。
About

Technical Infomations of OpenSolaris and Java and etc are in this blog. Contents of this blog are mainly written in Japanese, sometimes written in English.

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日