2003年10月19日

root同士でrsync

ふっる〜いSunSO 4.1.4のマシンを棄てることになって、中身を全部バックアップを取ろうと思ったんですがいい手が無くて困ってました。

とりあえず、NGなのはハードをいじる全般。
インターフェースとかも普通じゃないやつなんで取ったりつけたりしてのバックアップは全部アウトです。
(あまりにも古いので業者のサポートもお金出してもやってくれません(^^;)
幸い8mmドライブがついていると思ったら、正常に動かない罠付き_| ̄|○

なので、全てネットワーク経由でバックアップを行わなければなりません。
バックアップ先はこの作業のために作ったRedHat9マシン。

あと、バックアップすべき容量も40GBぐらいありますし、ファイルもいろんなユーザのいろんなパーミッションのものが混在してますが、全部ベタコピーする必要があります。

で、最初に考えたのがtarで固めて、NFSでマウントしたマシンに流す方法。

tar cvf バックアップ先ファイル名 バックアップ元ディレクトリ
あたりでさっくりやろうと思ったらNFS 2GBの壁に阻まれてあっさり終了_| ̄|○

というか、分割してバックアップをしても良いですが、容量分けは面倒だし最低20回以上やる必要があるわで現実出来では無いのであきらめました。

で、次は、逆にSunOSのマシンのディスクをバックアップ先のマシンにNFSでマウントしてCP -Rpしちゃう方法。
でも、コレだと今度はバックアップ元ディレクトリのroot権限がないので、パーミッション600とかのファイルが読めない・・・(;´д`)ノ

で、考えたのがrsyncを使う方法
rsyncは幸いSunOS4.1.4用のバイナリも配布しているし、バイナリ単体で動くので色々がんばらなくてすむし、何よりrsyncでお互いのマシンでroot権限で実行してファイル転送ができれば問題解決、と思いましたがいざやってみるとConnection refused.
あっ、バックアップ先のrshが死んでた(^^;
なんで、/etc/hosts.equivにバックアップ元のマシン名を追加して、/etc/xinet.d/rshを「disable = no」に変更して

# /etc/init.d/xinetd restart
コレでrshが起動したので、改めてやってみると
Permission denied.
どうもrshでrootのアクセスを許可してないようです・・・

なので/var/log/messagesを見てみたら

Oct 18 22:02:43 *** pam_rhosts_auth[8865]: denied to root@*** as root: access not allowed
う〜む・・・pam_rhosts_authか
なので、今度は/etc/pam.d/rshを開いて「auth required pam_rhosts_auth.so」の行をコメントアウトしてみる。

かわらねぇ_| ̄|○

なので、ネットで検索してみると次なようなサイトをみっけました。

おぉ、なるほどと思い「auth required pam_securetty.so」もコメントアウトしたところ見事にroot同士でrsyncができるようになりました( ̄▽ ̄)ノ

あぁ、もちろんssh経由ならもっと楽だったんですが、もうすぐ棄てるSunOSマシンにsshを入れる労力を考えたらこれぐらい・・・(笑)

もっと簡単な方法はこちら

Posted by Takuchan at 2003年10月19日 00:02 | トラックバック(0)