メモの日々


2009年07月23日(木) [長年日記]

  • まだ腰痛い。でもだんだん治ってきたかも。

[windows] cwRsync で plink を使ってLinuxへファイルコピー

WindowsからLinuxへrsyncを使ってファイルをコピーしたかった。

Windows用のrsyncクライアント

Windows用のrsyncクライアントとしては

というものがよく使われているようだった。cygwin用のrsyncをcygwinなしで動作するようにパッケージングしたものみたい。

cwRsyncとplinkを一緒に使うとエラーになる

cwRsyncには rsync.exe の他に ssh.exe や plink.exe が付属していた。ssh.exeはOpenSSHのSSHクライアントをWindowsでコンパイルしたものみたい。plink.exe というのはPuTTYに付属しているコマンドライン用のSSHクライアントで、ssh.exeと同じようなことができる。

さて、rsyncは -e オプションを使うことでSSHと組み合わせて次のようにしてファイル転送ができる(カレントにあるbinの下にrsync.exe, ssh.exe, plink.exeなど必要な実行ファイルが存在するものとする)。

bin\rsync -avz -e bin/ssh src.txt remote_host:tmp/

が、ssh.exe の代わりに次のようにして plink.exe を使うと下のようなエラーになってしまった。

bin\rsync -avz -e bin/plink src.txt remote_host:tmp/
Unable to read from standard input: ハンドルが無効です。
rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(759) [sender=3.0.6]

認証に Pageant を使用したいのでssh.exeでなくplink.exeを使いたいのに。検索するとcwRsyncとplinkの組み合わせはうまく動かないという情報がいくつか見つかった。cwRsyncにplinkが付属しているのに使えないのかよー。

更に cygnative を組み合わせるとうまく動いた

んで、 rsync does work with plink - part 2という記事があって、ここに「rsyncとplinkを一緒に動かせる cygnative というソフトを書いた」ということが書いてあった。

これを使って

bin\rsync -avz -e "bin/cygnative bin/plink" src.txt remote_host:tmp/

としたらうまく動いた。Pageantとの連携もOK。

cygnativeの最新版version1.1はrsync does work with plink - part 3からリンクされている。

[book] 手紙 (東野圭吾)

手紙(東野圭吾/著) 読んだ。兄が殺人を犯してしまった弟の話。引き込まれてどんどん読み進められた。なんだかんだ言ってみんな優しいな。4点。

やること

  • シャンプー