テスト機 : Windows Server 2012
1 WindowsからLinuxMinGWのページから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サービスの方が安定している。