高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

rsyncでサーバと同期

以前からやろうと思っていてなかなか手をつけられていなかったrsyncを試してみました。そのつもりで調べてみたら意外とあっさりとうまくいってしまったのでメモ。

  1. Cygwinをダウンロードし、最低限以下の二つのソフトをインストールする
    • Netカテゴリのrsync
    • Netカテゴリのopenssh
  2. cygwinを起動し、rsyncコマンドを実行する

これだけ。これだけでサーバのファイルをバックアップすることができます。
インターネット越しで遠方のPCのデータをバックアップする場合は、-e sshオプションをつけ、sshバックアップすること。
わたしの場合は以下のようなコマンドで実施しました。

rsync -avz -e ssh --delete [バックアップしたいサーバのドメイン名]:[サーバのディレクトリの絶対パス] [バックアップを格納するディレクトリパス]

※ --deleteオプションを使っているのでディレクトリパスの指定には気をつけてください
以上で1回目にRSA鍵の保存をする旨の表示がされ、その後にログインパスワードを入力、そのまま同期処理ができます。パスワード入力がちょっと気になりますが、バッチファイルを作れば自動バックアップも可能そうです。
ちなみに、バッチファイルを作る場合は、最初にcygwin.batを実行してCygwinにログインしておくことをお忘れなく。


ひとまず実施してみたものの、どうもファイルサイズが大きいときに「error in rsync protocol data stream」と表示されます。ひとまず参考資料を見直してみますか・・・