読者です 読者をやめる 読者になる 読者になる

山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

Windowsでrsyncを使う(公開鍵利用)

rsync便利ですよね。サーバーとファイルを同期するときにファイルが大量にある場合は差分だけ高速に同期できます。しかしwindowsには標準で付属していません。

www.itefix.net

そこでcwRsyncというソフトを使います。cygwinの必要なところが同梱されていてそのうえでrsyncを動かしているようです。cygwinは別途インストールしなくてよいので使う分には意識する必要はありません。
有料版とフリー版があって有料版はインストーラーがあるようですがフリー版はありません。どこに置いてもいいのでパスを通せば大丈夫です。

サーバーにアクセスする際にAWSなどでは公開鍵が必要になります。これを使うにはひと工夫いります。

まずファイルの配置場所が決まっていないのでrsyncコマンドで指定します。またファイルのパスはcygwin方式で指定する必要があります。次のようになります。

rsync -e "ssh -i /cygdrive/c/Users/h-yamashita/Documents/id_rsa.txt"

cygwin方式のパス表記は、ドライブ名を/cygdrive/ドライブ名/という形で指定します。また¥をスラッシュに変えます。
公開鍵以外のwindows側のファイルパスもcygwin方式にします。

公開鍵のファイルはそのままではpermissionエラーになります。これはファイルのオーナーをadministratorにすることで解消できました。
ファイルを右クリック
→プロパティ
→セキュリティ タブ
→詳細設定
→ウィンドウ上部の「所有者」右の「変更」
→テキストボックスに「administrator」と入れる
→名前の確認
→全部OK

他は通常のrsyncコマンドと全く同じように使えます。

これで快適にファイル同期ができるでしょう。