- PR -

rsyncを使ったサーバ間の同期について

1
投稿者投稿内容
バニラミント
ベテラン
会議室デビュー日: 2005/05/27
投稿数: 58
投稿日時: 2005-10-30 09:16
お世話になります。
こちらの会議室では初めて質問します。

サーバAとサーバBの2サーバ間のファイルの
同期を考えています。
サーバAとサーバBの接続はルータを介して行います。

具体な処理内容は、
クライアントからサーバAに対してFTPでファイルをアップロードし
定期的(cronを利用)にサーバAのデータをサーバBにアップロード。
その際、サーバAで消去されたファイルについては、サーバBでも
同じように消去するといった処理を行いたいのです。

ただし条件としてルータで開けることができるポートが
80番と21番のみです。

ファイルの同期方法として調べてみたところ
rsyncという便利なコマンドがあることがわかったのですが
これを利用するためには、873番ポートが空いていなければいけない
ということもわかり、結局、ふりだしに戻ってしまいました。

そこで質問なのですが、HTTP(80)とFTP(21)を利用して
2サーバ間のファイルの同期をとる方法がありましたら
なにとぞ、ご教示いただけませんでしょうか?
よろしくお願いします。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-10-30 10:26
こんにちわ.

同期は無理なんじゃなかろうかと.
A->B という一方向なら,A で ftp/http service を動かしておいて,
B 側で wget させれば「増分」までなら実現できるかもしれません.
※Windows の GUI な ftp client で
※"mirroring download" できるものもありますから,
※あるいはできるものがあるのかもしれませんが...

一点だけ気になります.
ftp は 21/tcp だけでは機能しません.
command 用の session の他に data transfer 用の session も必要です.
data 用については passive/active によって session を張る方向が違います.
条件から推測するに,途中に firewall でもあるのでしょうから,
「21 port しか開いていない」なら ftp は使えないことになります.
それなりな firewall ならその辺は考慮されていますが,
単に「21 port しか開いていない」のではマズイということは
意識しておいたほうがよろしいかと思われます.

以上,ご参考までに.
バニラミント
ベテラン
会議室デビュー日: 2005/05/27
投稿数: 58
投稿日時: 2005-10-30 11:03
レスありがとうございます。
そうですか。やはり無理ですか。
教えていただいたFTPを利用する方法を
試してみます。
ありがとうございました。

FTPは私の書き方がおかしかっただけで
利用可能なポートはFireWallであけてあるみたいです。
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2005-10-30 11:05
引用:

バニラミントさんの書き込み (2005-10-30 09:16) より:
そこで質問なのですが、HTTP(80)とFTP(21)を利用して
2サーバ間のファイルの同期をとる方法がありましたら
なにとぞ、ご教示いただけませんでしょうか?
よろしくお願いします。



HTTPや、FTPのサービスを必要としないのであれば
rsyncのデーモンがlistenするポートを873から80か、21かに
変更するっていう手が一つ。起動オプションでポートは指定出来ます。
もしくは、daemonモードを利用しないでsshあたりを利用したrsyncで
sshdのlistenポートを80とか、21にするとか。
ま、似たようなもんですが。

あとは、lftpみたいなコマンド使ってミラーリングするとか。
http://sonic64.com/2004-05-08.html
バニラミント
ベテラン
会議室デビュー日: 2005/05/27
投稿数: 58
投稿日時: 2005-11-01 16:08
anightsさん、レスありがとうございました。

rsyncが可能なのであればFTPサービスは必要ありません。
もともとコンテンツ更新用としてFTPサービスを考えていたので。

ポートを変更してもrsyncが利用可能だとは思いませんでした。
再度、rsyncでの運用を検討してみたいと思います。
おっきー
大ベテラン
会議室デビュー日: 2003/05/01
投稿数: 104
投稿日時: 2005-11-02 16:18
本来 ssh で通信できる rsync がいいのですが、
どうしても ftp しか使えないなら
ftpmirror というソフトがあるみたいですよ。
ftp mirror をキーワードにすれば
ほかにも探せばいろいろありそうです。

あ、たぶん mirror という Perl のスクリプトの方が
有名ですね。ftpmirror より高機能っぽいです。


[ メッセージ編集済み 編集者: おっきー 編集日時 2005-11-02 16:24 ]
1

スキルアップ/キャリアアップ(JOB@IT)