samba2.2のファイルを文字化けさせずにsamba3へ同期する

玄箱サーバをDebian5.0(lenny)にしてから
samba2.2が動いてるサーバへのmountがうまくできなくて
samba3(玄箱サーバ)上に,文字化けしたファイルが置いてある状態でした.

バックアップも満足に取れていなかったので
何とかしなきゃと思ってたんですが...,やっと今日上手くできました.

lennyにする前は,/etc/fstabに記述していたcodepageとiocharsetの指定で
文字化けせずにmountできてました.
でも,codepageのオプションがなくなったみたいで,
smb.confやfstabでどう指定しても
文字化けファイル名のファイルがなくなりませんでした.

[設定]
[1]samba2.2サーバのsmb.conf
  coding system = euc
  client code page = 932

[2]samba3サーバ(lenny)のsmb.conf
  display charset = CP932
  dos charset = CP932
  unix charset = eucJP-ms

[3]samba3サーバ(lenny)からsamba2.2サーバへのmountオプション
(SRC) (DST) cifs user,rw,username=(USER),password=(PASS),io
charset=euc-jp,file_mode=0644,dir_mode=0755

※括弧は置き換え済

以上の設定で,lennyサーバにコピーされるファイルの
文字コードがShift_JISになってしまう状況です.
元から共有しているファイルはEUC-JPなので表示がおかしくなってしまいます.

どん詰まりだったんですが,ここでちょっと考え方を変えました.

rsyncでファイルの同期を取っていたんですが,
どうもrsyncのオプションで文字コード変換(iconv)があることに気づきました.
バージョンがrsync3からの新オプションらしいですが,
lennyなら使えそうだということで,試してみたら成功しました.

[rsyncに追加したオプション]
iconv=sjis,euc-jp

最近のブログ記事

2010おつかれちゃん
新しい環境でも活躍をお祈りしてます。 …
来週は仙台だが。。。
ハードなスケジュールになりそうな気がする…
まったり雰囲気でもアツイ試合がやってきた
[地域決勝一次ラウンド@藤枝] 藤枝 1…