• 締切済み

rsyncを使ったバックアップの方法

WEBデザイナーをしています。 日々の制作データを別マシンにバックアップをとる方法として、 Windows環境にCygwinをインストールして、rsyncを使って、 バックアップをとろうとしています。 やりたいことは、作業マシン(コピー元)から、別マシン(コピー先)に 日々バックアップをとる。さらに、その日に変更された差分ファイルのみ、 別フォルダに保存したいのです。 つまり、作業マシンと、バックアップ先は常に同期がとれていて、 その日変更されたファイルは、同期がとる直前の差分ファイルのみを、 その日時をフォルダ名としたフォルダに保存する。 UNIXについての知識がなく、rsyncのサイトをかいつまんだ知識しか ありません。上記のことができるのか、どうすればできるのか、 をおしえていただきたいのです。

みんなの回答

  • kome-maro
  • ベストアンサー率20% (29/145)
回答No.3

#2です。 >rsync1をつかった場合、同期をしつつ、差分ファイルだけを、同期フォルダとは別のフォルダに保存することはできるのですか? できます。 rsyncは、まずはじめに、差分を比較し、差分のみしか転送しません。 また、--delete オプションは、転送元が削除されている場合は、バックアップ先も削除するオプションです。目的上、つけた方がいいでしょう。 vオプションは、転送したファイル、削除したファイルを表示しますので、不要ならとっていただいてもかまいません。 私は、linix --> linuxで数百MBを毎日バックアップとっています。 Windows --> Windowsは同様に1TB弱バックアップとっています。はじめは、rsyncでとっていたのですが、時間的に間に合わず、「ディスクミラーリングツール」で、毎日バックアップを取っています。

  • kome-maro
  • ベストアンサー率20% (29/145)
回答No.2

#1です。 rsync.exe -av --delete /cygdrive/(drive)/(dir)/ /cygdrive/(drive)/(dir)/ で、同期はとれます。 前半は、バックアップ元、後半がバックアップ先です。 しかし、windows同士や、ローカルならば、以下のリンクの「ディスクミラーリングツール」の方が、GUIで操作できますし、なにより、同期をとる時間がかなり早いので、お勧めです。

参考URL:
http://www5.wisnet.ne.jp/~mercury/
hide_momiji
質問者

補足

ありがとうございます。 ご連絡がおそくなりました。すみません。 ディスクミラーリングツールはためしてみます。 rsync1をつかった場合、同期をしつつ、差分ファイルだけを、同期フォルダとは別のフォルダに保存することはできるのですか?(最初の質問内容です。)

  • kome-maro
  • ベストアンサー率20% (29/145)
回答No.1

バックアップ側のサーバは、UNIX等でしょうか? サーバ側に、sshdが起動している必要があります。 また、ワークステーション側は、別にcygwinでなくてもよく、cwrsyncという、cygwinのrsync + sshだけを取り出した段取りのいいソフトがあります。 この2つの環境があれば、後は簡単で、 cwrsync -avz --delete localfile remoteserver:remotefile でOKです。 cwrsync http://www.itefix.no/phpws/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=6&MMN_position=23:23 マニュアルは、rsyncと同じですので、 http://www.infoscience.co.jp/technical/rsync/rsync.html

hide_momiji
質問者

補足

ありがとうございます。 コピー先もWindowsマシンです。 (マシンでなくとも外付けHDDにバックアップができればいいのです。) rsyncがいま動いているので、できればrsyncで実現したいのですが、 可能でしょうか?

関連するQ&A

  • rsyncコマンドでのバックアップについて

    Linux初心者です。よろしくお願いします! あるログの差分をとりバックアップをしたいと考えています。 rsyncを使うと簡単にできると分かりました。 しかし、rsyncはその名の通り「同期」をしているようで、例えば、下記のようなバックアップ取得ができないように思えます。 1日分しかログを残さないファイルがあるとします。(前日分のログは消されていく) rsyncを使って、この「元ファイル」の前日分も残しながら差分をバックアップする。 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のインストールの仕方

    いつも拝見させていただいております。 ホームページの日々の更新運用で、日々 の差分バックアップをとりたいと考えて います。 Unixの経験はほとんどなく、作業環境も Windowsですが、rsyncを使えば、上記機 能が可能ということで、その前段階で、 Cygwinをインストールしました。そして いざ、rsyncをインストールをしようと したところ、(http://rsync.samba.org/) から何をダウンロードし、どうすれば、 インストールできるのかわからなくなって しまいました。 インストールのやり方を伝授していただけ ないでしょうか? よろしくおねがいいたします。

  • ssh + rsync でパスワードを聞かれなくする方法

    SSH + rsync(rsync -e ssh ・・・で ssh 回線で同期)でファイルをコピーする時に、パスワードを聞かれなくする方法はないでしょうか? http://www.okweb.ne.jp/kotaeru.php3?q=323149 などを参考に、公開鍵を作りログイン先のauthorized_keysに登録しました。(公開鍵を作るときにパスフレーズを入力してません。) こうすると、たしかに"パスフレーズ"は聞かれないのですが、"ログインパスワード"は毎回聞かれます。これは仕方がないのでしょうか? ●ファイルのコピー先がファイアーウォールで ssh のポートくらいしか空いていないので、 ssh + rsync を使おうと思っています。 ●同期したいフォルダは複数あるので、スクリプトを作って rsync -avz -e ssh フォルダAを同期 ・・・ rsync -avz -e ssh フォルダBを同期 ・・・ ・・・ という感じで一気に同期できれば便利だな と思っていました。 ところが今のままでは、rsync コマンド一回ごとに ログインパスワードを入力することになってしまいます。

  • 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でもそういう風な不具合が起こるのか、疑問に思いました。 うまく説明できていないかもしれませんが、 どなたかご教授ください。 おねがいします。

  • 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フォーマットです。 どうすればいいのでしょうか? よろしくお願いいたします。

  • HD革命 差分バックアップについて

    結局、差分バックアップのファイルをけすと復元できないのか、できるのかどちらなのでしょう。 ○○ 様 「HD革命/BackUp Easy」で行う差分バックアップは同期ではありません。 あくまで差分バックアップが実行された時点の状態を保存しています。 「HD 革命 / BackUp Easy」 にてバックアップを行いますと、初回は以下のファイルが作成されます。 ファイル名.hdf(バックアップファイル) ファイル名.hdm(管理ファイル) ファイル/フォルダ単位のバックアップのため、バックアップを行う際にファイルの保存場所などを管理ファイルに記録しております。 差分バックアップを行う場合、以上で作成された元となるバックアップファイルと管理ファイルを参照し、差分のバックアップを行います。 差分バックアップを実行するたびに、過去のバックアップファイルと、それに対応する 差分分をあわせて、最新状態がバックアップされます。 各世代では、今の状態と、元となったバックアップファイルの最初のバックアップ時の状態との違い部分のみをバックアップしています。 それ以前の世代での変更内容などは含んでいません。 ただし、差分バックアップの行われた履歴を管理しているため、 管理ファイルや、途中のバックアップファイルがひとつでも失われた場合、 復元が行えなくなります。 □□さまの説明だと、 削除されたデータは、削除されたという情報がバックアップされ、差分データから復元する際には復元されない> という事になろうかと思うのですが、 つまりこれは同期をしているということでしょうか。ここでの同期とはコピー元とコピー先を一致させる処理という意味です。 もし、HD革命の差分バックアップが同期的な機能だとしたら、 先述の通り、差分バックアップでは、各世代では、元となったバックアップファイル(hdfファイル)と、過去の差分バックアップファイルとの状態を比較しています。 そのため、差分バックアップファイルは、差分バックアップごとに増えていく ことになりますが、1つでも削除されたり、破損してしまいますと、次回の差分 バックアップや復元が実行できなくなってしまいます。 というくだりが理解できかねます。 同期をするのであれば、今までの差分バックアップファイルが消えても初回のバックアップファイルさえあれば復元できるのでは?と思えます。 もしくは、今まで差分バックアップファイルを利用して、同期をしていると考えればよろしいのでしょうか? ○○ 様  B時点では、bのファイルを削除した状態の差分バックアップに なるので、この時点(世代)のバックアップファイルを復元しても bはありません。 bのファイルを戻したい場合は、A時点のバックアップファイルを 復元する必要があります。 「HD革命/BackUp Easy」の差分バックアップでは、元となる バックアップファイル(hdfファイル)と管理ファイル(hdmファイル)を 参照し、差分のバックアップを行います。 差分バックアップを実行するたびに、過去のバックアップファイルと、 それに対応する差分分をあわせて、最新状態がバックアップされ新しい 差分バックアップファイルが作成されます。 ひとつのバックアップファイルを、1つの世代、として管理します。 復元を行う際には、任意の世代を選択することができますが、その世代で バックアップした時の状態のみが復元されることになります。 差分バックアップファイルは、差分バックアップごとに増えていく ことになりますが、1つでも削除されたり、破損してしまいますと、次回の差分 バックアップや復元が実行できなくなってしまいます。 また、hdf(バックアップファイル(hdf)、管理ファイル(hdm)、差分 バックアップファイル(hdi)は、すべて同じフォルダ内に保存されていることが 必要ですので、ご注意ください。 差分バックアップは、増えた分だけバックアップすると認識しておるのですが、バックアップを取った後に削除したファイルやフォルダはその後差分バックアップをした際、削除したファイルもバックアップされるのでしょうか。 例えば、      A時点 ⇒  B時点  ⇒  ?? a,b,c a,c      A時点でa,b,cファイルのバックアップを取り、B時点でbのファイルを消し、差分バックアップをとると、その後はa,b,cのファイルが残っているのか、bが消え、a.cが残っているのかどちらなのでしょうか。  いいかえると、B時点でのファイルを復元するとbが残っているのかということです。もし残らないとすれば以前バックアップしたファイルも全て残しておかなければ削除したファイルは元に戻らないという事になるのでしょうか

  • 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であれば、使ったことあるし設定も楽なので  この手法がいいかなって思っています