Windows で rsync を使用する

  • このエントリーをはてなブックマークに追加

Windowsの場合、サーバとファイルをやり取りする際はWinSCP(ssh)が有名どころだと思いますが、開発環境サーバにソースファイルをアップするときにいちいち、WinSCPを立ち上げてアップするのは少々めんどくさい感じがします。

他には、sambaサーバを立てたり、sshfsでマウントしてアップする方法も有りますが、個人的には開発環境ではコマンド一つでサーバにアップしたいと思っています。

macには、rsyncコマンドがあります。

WindowsでもcwRsyncを使えば、rsyncコマンドを使う事が出来ます。

目次

  • 開発環境に公開鍵認証方式(ssh)の設定をする
  • cwRsyncインストール
  • cwRsyncコマンド実行

開発環境に公開鍵認証方式(ssh)の設定をする

cwRsyncコマンドでパスワード入力無しでコマンド1つで同期する為、公開鍵認証方式(パスフレーズ無し)の設定をします。

開発環境なので全てrootユーザで実行しています。

[root@localhost ~]# ssh-keygen -t rsa ← 公開鍵、秘密鍵の作成(パスフレーズ無し)
[root@localhost ~]# chmod 700 ~/.ssh ← パーミッション設定
[root@localhost ~]# chmod 600 ~/.ssh/*

[root@localhost ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ← 公開鍵をリネームコピー

[root@localhost ~]# vi /etc/ssh/sshd_config ← sshdの設定

RSAAuthentication yes ← コメント解除
PubkeyAuthentication yes ← コメント解除
AuthorizedKeysFile .ssh/authorized_keys ← コメント解除

AllowUsers root ← 追加

[root@localhost ~]# service sshd restart ← sshd再起動

秘密鍵「/root/.ssh/id_rsa」をWindowsにコピーしておく。

インストール

Download | ITeF!x. からcwRsyncをダウンロード、インストールします。

今回はC:\cwRsyncにインストールしました。
コピーしておいた秘密鍵「/root/.ssh/id_rsa」C:\cwRsync\192.168.1.3に移動します。

cwrsync.cmdにコマンド例の記述があります。
このファイルに以下を記述して、実行すると開発環境にファイルが同期されます。

C:\cwRsync\bin\rsync.exe -rvz -e "C:\cwRsync\bin\ssh.exe -i /cygdrive/c/cwRsync/192.168.1.3/id_rsa" --block-size=81920 --stats --progress /cygdrive/c/home/sample/ root@192.168.1.3:/home/sample/

ただ、実行すると毎回「Are you sure you want to continue connecting (yes/no)?」と聞かれてしまうので~/.ssh/config

host *
    StrictHostKeyChecking no

を追加して聞かれないようにしました。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

ads

コメントを残す

*