コスギデンサン >> 情報系メモ >> Windows

WindowsとLinuxでrsync 2016/6

テスト機 : Windows Server 2012

1 WindowsからLinux

MinGWのページからmingw-get-setup.exeをダウンロードしてインストール。
MinGW Installerより、opensshやrsyncその他関連パッケージをインストール。
C:\MinGW\msys\1.0\binフォルダ以下に実行ファイルが置かれるので、パスを通す。

以下のコマンドでローカルとリモートの同期がとれる。
ssh -azv -e 'ssh -i path_to_private_key' path_to_local remote_user@remote_addr:/remote_path

  • Linux側にはデフォルトでSSHデーモンが起動しているので、Windows側にSSHクライアントをインストールするとrsyncが使用できる。
  • MinGWでもCygwinでも問題ない。

2 LinuxからWindows

2-1 WindowsへOpenSSHサーバーのインストール

https://github.com/PowerShell/Win32-OpenSSH/releases よりOpenSSH-Win64.zipをダウンロードする。
https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSHに従ってセットアップ。

2-2 LinuxからWindowsへのrsync

$ rsync -azv local_path Administrator@remote_addr:remote_path
remote_pathは、例えばC:\work\test\a.txtであれば、/c/work/test/a.txtと指定する。

  • LinuxにはデフォルトでSSHクライントがインストールされているので、Windows側にSSHサービスを導入するとrsyncが使用できる。
  • 2016/6現在では、MicrosoftのOpenSSHサービスよりも、CygwinのOpenSSHサービスの方が安定している。