• 締切済み

rsync のバージョンアップについて

はじめまして。 Linuxは初心者なので、とんちんかんな質問をしてたらすみません。 やりたいこと  rsync を バージョンアップしたい 理由  下記のようなエラーメッセージが出る。  rsync: on remote machine: -ldt: unknown option 状況  AサーバーとBサーバーをlsyncdでファイルの同期をしたいと思い、 ひとまず、lsyncdを起動するとファイル同期はとれるようになりました。 しかし、ファイル変更後に自動で同期がとれるかと状況を見てると、どうやらファイル変更後は同期を取らず、ログを見ると上記のエラーメッセージが表示されていました。 これは -dオプションが無いためだと思いますが、 Aサーバーで 「rsync -ldt」 と、オプションをつけてもエラーにならないため、 まずはrsyncのバージョンを同じにしようと思いましたが、いまいち情報が見つけれれませんでした。 スペックはこちらになります。 Aサーバーは centos 5.3 rsync version 2.6.8 protocol version 29 Bサーバーは centos 4.4 rsync version 2.6.3 protocol version 28 どのようにすればrsyncをバージョンアップできますか? yumで検索しても出てきませんでした。 よろしくお願いします。

みんなの回答

回答No.2

ねこすけさんのページにのっている方法でいけますね。 ただ、wgetで取得するURL先が既に無さそうなので以下に変更する必要があります。 # wget ftp://ftp.infoscience.co.jp/pub/rsync/src/rsync-2.6.8.tar.gz

参考URL:
http://linux.nekosuke.com/rsync.html
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

的外れな回答かもしれませんが・・・ rsyncの-dオプションってdirのdじゃないですか? --delete じゃないですか?

yamada0812
質問者

補足

ありがとうございます。 rsync version 2.6.8では rsync -ldt とオプションを指定してもエラーが出ないため、同じ状態にしたいのです。 インストール済みのものをyum update以外でupdateする方法がわからず困っています。

関連するQ&A

  • rsyncのオプションについて

    現在、rsyncにてサーバー間の同期をとろうと思っています。 A、B、Cのサーバーがあった場合 1.A→Cにファイルを吸い上げる 2.C→A、C→Bにコピーする ※このとき、C→Aにコピーする必要はないですが念のためって程度です。 サーバーAには絶えず最新のファイルが存在する前提です。 これだけなら簡単なのですが。。。 以下の場合に困っています。 上記、1と2の間 Aから吸い上げられた直後に、Aのファイルが更新されると その後の、C→Aのrsyncで古いコンテンツに上書きされてしまいます。 ※ファイルサイズも、タイムスタンプも違うため こんな状態のようです。 1.A→Cにファイルを吸い上げる ※このときのファイルのバージョンを1.0とします。 2.Aにファイルの更新がかかる ※このときのファイルのバージョンを2.0とします。 2.C→A、C→Bにコピーする ※この時点で、Cにはバージョン1.0のファイルがあるので  Aサーバーへのコピーされてしまう。。。  1.0と2.0では、サイズもタイムスタンプも違うため。。。 なんとかしたいのは、このようなことがあっても大丈夫なように タイムスタンプを比較で新しければ、rsync起動とやりたいのですが。。。 オプション探しても見つかりません 知っている方が居ましたら、ご教授いただけないでしょうか? もしくは、このような場合に同期をとる別の簡単な方法があればと思っています。 ※rsyncであれば、使ったことあるし設定も楽なので  この手法がいいかなって思っています

  • rsyncの挙動について

    お世話になります。 現在AサーバからBサーバに対して、定期的にrsyncにてサーバ内ファイルの同期を行っています。 毎日更新されているファイル数が数十万ということと、回線が細い為に同期完了まで約2時間程かかります。 その際少し気になる点があります。 例えば、数十万ある同期対象ファイルの中でhoge.txtというファイルがあったとします。このファイルは動的に書き込みが行われるログファイルです。中身はWEBのアクセスログのようなものです。 このファイルを含む数十万のファイルをrsyncで同期を行った場合以下のような現象が起こります。 --条件------------------------------------------- rsync開始時刻 :01:00 rsync完了時刻 :03:00 rsync開始時の同期元Aサーバにあるhoge.txtのタイムスタンプ :00:58 rsync完了時の同期先Bサーバにあるhoge.txtのタイムスタンプ :00:58 rsyncオプション :rsync -auvvz -e /usr/bin/ssh --exclude '*~' --delete ------------------------------------------------- 上記条件及び結果の元、Bサーバに同期されたhoge.txtを見てみるとファイルのタイムスタンプ自体はAサーバでrsyncを開始した時点でのタイムスタンプ(00:58)なのですが、ファイルの中身を見てみると、ログファイル内にて01:30にアクセスがあったという記録が追記されています。 恐らくは約2時間かかるrsync実行中のうち、01:30以降にAサーバからBサーバに同期が行われたと思うのですが、それであれば、hoge.txtのタイムスタンプ自体も01:30に変わっていなければならないはずだと思うのです。 ちなみにこのhoge.txtというログファイルは書き込みが行われる毎にファイルのタイムスタンプも更新されます。 そこで質問させて頂きたいのですが、rsyncの挙動としてこのようなことはありえるのでしょうか? それではどうぞよろしくお願い致します。

  • rsyncやSSH接続ができません。

    ■rsyncがRSHでなく必ずSSH接続になってしまいます。 環境変数RSYNC_RSHもないのですが何故でしょうか? なおPort番号は22ではなく220をSSHにしています。 rsync -avz /home/test backup-server:/home/backup ssh: connect to host backup-server port 22: Connection refused rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(359) ■仕方なくSSHで接続しようと試みましたが今度はパーミッションエラーでした。 SSHのバージョンはサーバーは2で、クライアントはCentOS4.1ですがSSHの バージョンがわからない状態です。 SSHのバージョンはどう調べれば良いでしょうか? sync -avz -e "ssh -p 220 -oHostKeyAlias=test-server" /home/backup backup-server:/home/backup Permission denied (publickey). rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(359) なお、authorized_keysは、id_rsa.pubからコピーしてあり、644。 known_hostsには、test-serverは入っていて、644です。

  • rsyncの動作について

    CentOS6を使用しています Windows版のTerastationをCentOS6のサーバーにマウントし、 rsync -avを使って CentaOS6のデータをTerastationにバックアップを取ろうとしているのですが Permission denied (13) と表示されます。 この場合バックアップ元とバックアップ先の所有者が違うからだということでしたので、 所有者を同じになるよう変更しました ここでちょっとわからないことがあるのですが、 所有者を変更したディレクトリのなかの、ディレクトリやファイルは、 変更しないでも同期になりますか? よろしくお願いします

  • rsyncのエラー

    rsyncでデータのバックアップをとっているのですが、次のようなエラーが出ています。  rsync: mkstemp "ファイル名" failed: No such file or directory (2)  rsync: stat "ファイル名" failed: No such file or directory (2) そこで、エラーメッセージの中のファイル名をもとに、そのコピー元とコピー先のファイルを調べてみました。 すると、コピー元のファイルの絶対パス名の中に大文字だけのフォルダ名やファイル名が含まれていると、コピー先でその名前の部分が全部小文字になっていて、それがエラーの原因のようです。 例えば、コピー元の絶対パス名が   /?????/AAA/BBBcc/ddd だとすると、コピー先では   /?????/aaa/BBBcc/ddd となっています。 どうすれば、大文字のままコピーできて、エラーが出なくなるのでしょうか?? OSはFedora Core 3です。 「rsync --version」によると、   rsync version 2.6.3 protocol version 28 です。 コピー先は外付けのUSBハードディスクで、fat32フォーマットです。 どうすればいいのでしょうか? よろしくお願いいたします。

  • IE上からrsyncスクリプトを実行したい。

    目的:IEからrsyncスクリプトを実行してWEBサーバAとWEBサーバBの    同期を取り、データを同じにしたいです。    IEのURL欄部分へスクリプトまでのフルパスを入力、実行すると    同期が取れるようにしたいのです。        *現状はIE上では無く、サーバ上からrsyncスクリプトを実行     すると同期が取れます。     コマンド:./test/script/testrsync.pl     IE上からフルパスでtestrsync.plを実行すると     Internal Server Errorとなってしまい、下記のエラーログ     が出てしまいます。 apacheのエラーログ ----------------------------------------------------------- Host key verification failed. rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(463) [sender=2.6.8] Host key verification failed. rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: unexplained error (code 255) at io.c(463) [sender=2.6.8] [Mon Jun 1 00:00:00 2009] [error] [client xxx.xxx.xxx.xxx] Premature end of script headers: /test/script/testrsync.pl ------------------------------------------------------------ rsyncスクリプト ------------------------------------------------------------ #!/usr/local/bin/perl $RSYNC_SCRIPT = "/usr/local/bin/rsync --rsync-path=/usr/local/bin/rsync"; $RSYNC_OPTION = "-azpq -e ssh --delete"; $RSYNC_SVUSER = "user\@serverb:"; $TEST_DIR = "/test/hogehoge"; $REAL_DIR = "/test/hogehoge"; $DEBUG = "debuglog.txt"; open(DEBUG,">$DEBUG"); @SYNCDIR = ( "root/", ); foreach $SYNC (@SYNCDIR){ $CMD = "$RSYNC_SCRIPT $RSYNC_OPTION $TEST_DIR/$SYNC $RSYNC_SVUSER$REAL_DIR/$SYNC"; system($CMD); } close(DEBUG); ------------------------------------------------------------ 現在はcronで定期的に自動更新がかかるようにしておりますが、 同期を取りたい時にIE上からフルパスでスクリプトを実行し サーバAからサーバBへ同期を取りたいです。 色々と調べているのですが、糸口が掴めない状態です。 どなたかお分かりになられればご教示頂きたいです。 よろしくお願い致します。

  • CentOS Stream鍵ファイルでrsync

    CentOS Stream release 8 鍵ファイルでrsync CentOS Stream release 8の2台のマシンでAからBにフォルダをコピーするシェルを書きたいです。 com-a:192.168.1.11 com-b:192.168.1.12 com-bのログインは鍵ファイルを作っています。 com-aからcom-bにsshでログインするところまではできています。 <192.168.1.11から> ■通常のログイン ssh -i 鍵ファイル root@192.168.1.11 ここまでできていrます。 パスワードは求められません。 ■rsyncでフォルダーのコピー rsync -auvz --delete -e ssh /dir-from root@192.168.1.12:/dir-to/ しかし、これではパスワードを求められます。 rsyncで鍵ファイルは指定できないですか?

  • ポータブルHDにバックアップを取る方法(rsync)

    Ubuntu8.04 をファイルサーバとして使っています。 あるディレクトリをSambaでネットワーク内のWindowsクライアントに 共有させています。 このディレクトリをUSBポータブルHDにバックアップ取ることを考え、 全体としてのサイズはそこそこありますが、日々の変更分は多くないこともあり、 rsyncで差分バックアップを取ることを試みているのですが、どうも理想通りの 動きをしてくれません。 差分バックアップなので、更新していないファイル、フォルダは更新をしてほしく ないのですが、rsyncを起動させるたびに更新します。 まず、rsyncのコマンドですが、 rsync -auv --exclude 'tmp/' --delete /home/share /mnt/usb/backup/ で、やってみました。 chownのエラーが出たので、ポータブルディスクがvfatであることから オプションが問題なのかと思い、 -rlptDuv -rltDuv -ruv 等々オプションを変更させながら試してますが、エラーは出なくなったものの rsyncのコマンドを実行するたびに元ファイルが更新されていなくてもバックアップされるファイルが多々あります。 (オプションを減らすごとにその数は減ったのですが) ただ、上記オプション以上は修正すべき点がわからず困っています。 解決策についてアドバイス等いただければと思います。 よろしくお願い致します。

  • rsync での差分バックアップ

    rsync の --link-dest オプションを使っての差分バックアップができません。 外付けHDD『Photos』から、 外付けHDD『Backup』の中に『201403』『201404』といったフォルダを作り、 一ヶ月に一回差分バックアップを取りたいです。 まず $ rsync -av /Volumes/Photos /Volumes/Backup/201403 でバックアップした後(これはうまくいきました)、 $ rsync -av --link-dest=../201403 /Volumes/Photos /Volumes/Backup/201404 で差分バックアップをしたいのですが、ハードリンクが作られず、 201404フォルダ内にPhotosフォルダの全てをバックアップしてしまいます。 どこが間違っているかを教えてほしいです。 環境:Mac OS X 10.8.5 rsync version 2.6.9 protocol version 29 参照したサイト:rsyncで差分バックアップを行うための「--link-dest」オプション http://www.itmedia.co.jp/enterprise/articles/0804/25/news034.html

    • ベストアンサー
    • Mac
  • rsyncでのバックアップにて

    お世話になります。 いきなりですが、本題に入らせていただきます。 「A」というサーバー(Web・メール・DNS)があると仮定します。 OSはRedhat Linux7.0J(以下RH7と説明)だとします。 「B」というバックアップ用のサーバーを用意し、 OSにRedhat Linux 7.1J(以下RH7.1と説明)を入れたとします。 rsyncコマンドを使用して、AのデータをBにバックアップしたいと思います。 ここで質問なのですが、 同じOSのバージョン違い同士で、rsyncコマンドでバックアップした際に、何か不具合が起こる可能性というのは、やはりあるのでしょうか? (例えば、Aのマシンの/homeをBのマシンの/homeへ上書きした場合です) というのも、以前、会社の人から「ドットファイルを違うOSに持っていくと、正常に動かない」という風なことを聞いたので、RH7.0とRH7.1でもそういう風な不具合が起こるのか、疑問に思いました。 うまく説明できていないかもしれませんが、 どなたかご教授ください。 おねがいします。