サーバのデータ同期に関する問題

このQ&Aのポイント
  • レッドハット8間でデータの同期をとるツールを作成していますが、上手くいきません。既に取得したデータは読み飛ばして更新されたデータのみ取得する方法がわかりません。
  • 環境はレッドハット8で、Net::FTPモジュールを使用してデータを取得します。Perl5でデフォルトで入っているモジュールのみ使用できます。
  • 機能概要は、サーバAに上がっているデータをサーバBに指定ディレクトリ以下全てのデータとディレクトリを取得し、既に取得済みのデータは取らず、更新されているデータのみ取得したいです。
回答を見る
  • ベストアンサー

サーバの同期をとる

レッドハット8間でデータの同期をとるツールを作成しておりますが、どうも上手くいきません。 Net::FTPでデータを取得するまでは上手くいったのですが ひとのソースを改造しながらだったので既に取得した データは読み飛ばして更新されたデータのみ取得処理を行う方法が思い浮かびません。 スクリプト例またはこうしてはどうかと提案をいただけませんでしょうか。 環境概要 ・転送先転送元共にレッドハット8 ・Net::FTPモジュールは入っていた ・モジュールの追加はできないのでPerl5でデフォルトで入っているものしか使えない ・Rsync・SCPはよく判らないのでなるべく避けたい 機能概要 サーバAに上がっているデータをサーバBに指定ディレクトリ以下全てのデータとディレクトリを取得したい クーロンでまわしたいので既に取得済みのデータは取らず 更新されているデータのみ取得したい

  • Perl
  • 回答数1
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • meeee
  • ベストアンサー率31% (6/19)
回答No.1

サーバBで実行するものと仮定します。 Net::FTPを使用したことがないので、自信ありませんが、ls、size、mdtmが使用できれば、サーバAからファイルの一覧を取得した上で、ファイル1つ1つについて、サイズと最終更新日時をサーバBのものと比較して、異なるものを取得するようにするのが1つの手です。 (sizeやmdtmはFTPサーバへの実装が必須となっていなかったように記憶しているので、「使えれば」と書きましたが、たいていsizeは実装されていると思います。) サーバB側で更新されたことは感知しないのであれば、どこかに最後に同期した日時を記録しておき、それ以降にサーバA側で更新されたものだけを対象とするのでもよろしいかと。 実は、サーバA側で最終同期日時を記録しておき、それ以降に更新されたものだけを、AからBへ送りつけるのが、一番簡単だと思うのですが、たぶんサーバA上で実行できないのですよね?

yoshige
質問者

お礼

ありがとうございました。 いろいろ調べた結果以下のサイトを参考に実装することができました。 http://hp.vector.co.jp/authors/VA022047/program/upload.html(mkdirする http://www.hyuki.com/upftp/(mkdirしない サーバのデータをすべてGetしてくる http://www.i-say.net/cgi/bbs1/wforum.cgi?mode=allread&no=1802&page=0

yoshige
質問者

補足

なるほど ご助言ありがとうございます。 早速検証してみます。

関連するQ&A

  • Anonymous FTPサーバー構築及び設定について

    Red Hat Linux7Jをインストールして、Anonymous FTPサーバーを構築しようとしています。 Red Hat Linuxはインストールするだけで、Anonymous FTPができるのはありがたいんですが、ちょっとばかし設定を変更したいんです。 FTPクライアントからanonymousで接続すると、/var/ftp下のディレクトリーやファイルが公開されることになるんですが、公開するディレクトリーを別のディレクトリーに変更したいのですが、どのようにすればいいのでしょうか? ftpというユーザーのホームディレクトリーを変更すれば良いと思い、/home/ftp というディレクトリーを作成しました。 しかし、anonymousで接続してみましたが、/home/ftp下のファイルが表示されません。 どなたか教えて下さい。よろしくお願いします。

  • FTPサーバについて

    初歩的な質問ですいません。 あるFTPサーバに、<ftp IPアドレス>でログインした場合について教えてください。 FTPサーバにあるファイルを<get ○○>でダウンロードした場合、ダウンロードしたファイルは、Red hat、Windowsそれぞれどのディレクトリに保存されるのでしょうか。 初歩的な質問ですいませんが教えていただけましたら幸いです・

  • Linux(CentOS5.3) からWindowsServer200

    Linux(CentOS5.3) からWindowsServer2008のWebサーバ(IIS)へのデータ転送 Linux(CentOS5.3)上で動作するWebサーバから、WindowsServer2008のWebサーバ(IIS)へ定期的に自動でデータ転送したいのですが、方法をご存じの方教えていただけませんでしょうか。 LinuxからLinuxであれば、rsyncやscpで定期的にデータ転送できるとイメージできるのですが、LinuxからWindowsだとそのような方法があるかどうかつかめてません。 cronで定期的に、FTPまたはSCP、SFTPなどシェルスクリプトで実現できればと思うのですが詳しい方いらっしゃいましたら是非知恵を貸していただけませんでしょうか。 どうぞ宜しくお願い致します。

  • FTPでディレクトリの中のディレクトリがダウンロードできない

    何度もスミマセンが、またまた質問です。 よろしくお願いします。 Red Hat Linux8.0で自宅FTPサーバを構築しました。 早速接続して、あるディレクトリをダウンロードしたのですが、このディレクトリを開いてみると、なんとサブディレクトリ以下がありませんでした。 中身はディレクトリ以外のファイルだけでサブディレクトリ以下がダウンロードできていないのです。 確認のため他のFTPサイトで適当なディレクトリをダウンロードしたところサブディレクトリ以下のファイルを含むディレクトリ内の全てのファイルがダウンロードできました。 どうやら私が構築したFTPサーバのみ、このような症状が発生しているようです。 このトラブルを解決する方法をご存じの方、是非とも教えてください。 またアップロードに関しましては私の構築したFTPサーバでも正常にフォルダの中身全てが転送されるようです。 お手数をおかけしますが、ご回答をお待ちしています。

  • rsyncでバックアップしたLinuxディレクトリをパーミッション等を保ったままWindowsXPにダ ウンロードしたい。

    サーバ初心者です。安価なレンタル専用サーバでいろいろ練習中です。 WADAX専用サーバ エントリープラン GUIソフト:PLESK8.3使用 Red Hat Enterprise Linux 5 PHP 5.1 MySQL 5.0 FTPソフト:WinSCP # rsync -av /foo/from_dir /bar/to_dir 上記のようなコマンドでrsyncでバックアップしたLinuxサーバーのディレクトリ(及びその中身)又は個別のファイルをローカルマシン (WindowsXP)にFTPでダウンロードしてきても、そのバックアップに付加されたLinux固有の(Windowsにはない)パーミッション、グ ループ、ファイルオーナーなどの情報及びタイムスタンプ情報などは失われないのでしょうか? もし、これらの情報が失われる場合、これらの情報を保ったままバックアップディレクトリ又は個別のファイルをLinuxサーバーからローカルマシン (WindowsXP)にFTPでダウンロードする方法などありますでしょうか(FTP以外でも、可能であれば教えて下さい。)? FTPソフトは、WinSCPで付加ならば、他のソフトでもかまいません。 よろしくお願いします。

  • 自宅サーバーに最適なOSについて

    現在Scientific Linux 6.2で、WEBサーバーとFTPを自宅で運用しております。 最近FreeBSDというOSが気になってネットで色々探していました。 WEBサーバーやFTPやメールサーバーなどは、Scientific Linux 6.2やFreeBSDのどちらでも運用できると思うのですが、ネットを見ているとよくどちらのOSが優れているかというような記事をよく見ます。 ネットでは、漠然とLinuxよりFreeBSDが優れているとか、その逆のFreeBSDよりLinuxの方が優れているという情報を目にするのですが、具体的なことについては一切触れていません。 そこで、ここで質問させていただきたいのは、WEBサーバとFTPとメールサーバーの3つを運用する場合において、Linux(Red Hat系)とFreeBSDによる運用の長所短所などを教えて頂けないでしょうか? よろしくお願い申し上げます。

  • WebminでWebサーバー構築

    現在、ホスティングのサーバーにあるデータを使い Webminで新たにWebサイトを構築しようとしていますが どういう手順を踏んで公開すればいいのか分かりません。 (これまでは、ただ決められたディレクトリにftpで サイトデータの転送をする位の経験しかありません) どなたか初心者でも分かる様に教えてください!

  • インターネットでftpサーバーを公開する場合

    お世話になっております。 外部とデータをやりとりすのに、いままでは安全な鍵ファイルを利用したscpを使うようにしていたのですが、相手の都合でscpができない相手が出てきて、どうしてもftpを使いたいというのです。私の情報が非常に古いのですが、ftpはパスワードを平文で送るのでパケットを盗まれたらアウトだと思っていましたので、ずっとscpばかり使っていて、ftpは使ったことがありませんでした。現在では安全にftpを使うことが出来るようになっていますか? あと、いずれにしろ今回どうしてもftpを入れざるを得ないので、ftpサーバーの管理の一般的な注意点を御教えください。私は一応サーバを仕事で管理している者なのでftp特有の問題点だけでけっこうです。 今回ためしに wu-ftpd を入れてみて、今はまだローカルでのみ使っています。他にもっとよいとご推薦のftpサーバーはありますか? またwu-ftpdをこのまま使う場合でも、設定ファイルの必須の修正項目などありましたら、御教えください。 よろしくおねがいします。

  • サーバーにアップしたいのですが・・・

    dreamweaverを使ってホームページを作っています。 サーバーに上げたいのですができません。 FTPホストはURLを入れてます。 ログインもパスワードもプロバイダから教えてもらったものを入れても 「FTPエラーが発生しました。ホストに接続できません」 というメッセージが出ます。 ホストディレクトリが間違っているのでしょうか? 現在ホストディレクトリにはディレクトリ(転送先フォルダ)を入れています。 入力した情報は間違っていないと思うのですが、どうしてもできません。

  • Red Hat Linux 9で各種サーバー構築

    Red Hat Linux 9でProxyサーバーを作る事になりました。 DeleGateを使うそうなのですが、いまいち使い方がわかりません。解説本も探しましたがみつかりませんでした。設定に関して詳しい情報が載っている本又はホームページをご存知でしたら、教えていただきたいです。 Red Hat Linuxを使い始めて2週間、やっと入門向けの本(サーバーとしてではなく単にLinuxの)から抜け出したところです。同じサーバーでWeb,Mail,FTP,DNS,ファイル共有のサーバーも立ち上げるのですが、これらは詳しい解説本もあるので何とかなりそうなんです。ですがDeleGateだけが… よろしくお願いします。

専門家に質問してみよう