設定ファイル
c:\rsyncd.conf(改行コードはCRLF、CRのみだと読み込みに失敗する)
use chroot = false strict modes = false hosts allow = * log file = rsyncd.log pid file = rsyncd.pid # Module definitions # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work # [test] path = /cygdrive/c/work read only = false transfer logging = yes
共有フォルダ
C:\workを予め作っておく、これは他PCからrsync://192.168.0.1/testのように見える。192.168.0.1の部分はrsyncをdaemonで起動させたPCのIPアドレス。
起動方法
rsync.exeと同じフォルダにrsyncd.pidが存在すると起動に失敗する。
C:\Program Files\cwRsync\bin>rsync --daemon --log-file=C:\test.log --config=c:\rsyncd.conf C:\Program Files\cwRsync\bin>
--daemonオプションは軽くググって見たところ「rsync をデーモンとして走らせます。デーモンはクライアントの接続毎に設定ファイル(/etc/rsyncd.conf)を読んで、それに対応したリクエストに対して作動します。詳しくは rsyncd.conf(5) の man ページを見て下さい。」ということらしい。
その他ファイル
rsyncd.log
rsync.exeと同じフォルダに作られるログファイル(改行コードはLFのみ)。
- 例
2009/09/22 10:59:01 [728] rsync to test/ from unknown (192.168.1.30) 2009/09/22 10:59:01 [728] receiving file list 2009/09/22 10:59:02 [728] recv unknown [192.168.1.30] test () (コラCG) [サクラ大戦3] コクリコ体操服.jpg 51762 2009/09/22 10:59:04 [728] recv unknown [192.168.1.30] test () (二次創作CG) [CCさくら] 佐々木利香 01.JPG 152508 2009/09/22 10:59:10 [728] recv unknown [192.168.1.30] test () [二次創作CG] (CCさくら) さくら 第2話コス.jpg 91531 2009/09/22 10:59:12 [728] recv unknown [192.168.1.30] test () ジーンダイバー 唯.jpg 135600 2009/09/22 10:59:14 [728] sent 5773 bytes received 40815798 bytes total size 40785883
c:\test.log
指定した箇所に作られる詳細なログファイル(改行コードはLFのみ)。
- 例(接続してきたクライアントはIPからホスト名を逆引きして見つからないとエラーとして記録する)
2009/09/22 10:43:11 [3884] rsyncd version 3.0.3 starting, listening on port 873 2009/09/22 10:51:21 [2852] name lookup failed for 192.168.1.30: Unknown server error 2009/09/22 10:51:21 [2852] connect from UNKNOWN (192.168.1.30)
クライアントからサーバ側へファイルをコピーする
C:\Program Files\cwRsync\bin>rsync /cygdrive/c/Winny/Winny.ini rsync://192.168.1.17/test C:\Program Files\cwRsync\bin>
クライアントからサーバ側へファイルをコピーする(その2)
C:\Program Files\cwRsync\bin>rsync /cygdrive/e/Share/画像/CG集/コラCG/* rsync://192.168.1.17/test C:\Program Files\cwRsync\bin>
302個、38.8MB、日本語ロングファイル名のディレクトリ無しファイルコピーも問題なし。尚、タイムスタンプは転送時の日時となり、ファイルは全てリードオンリー属性となる。
クライアントからサーバ側へファイルをコピーする(その3)
C:\Program Files\cwRsync\bin>rsync -t -v /cygdrive/c/Winny/Tab1.txt rsync://192.168.1.17/test Tab1.txt sent 194 bytes received 27 bytes 147.33 bytes/sec total size is 126 speedup is 0.57 C:\Program Files\cwRsync\bin>rsync -t -v /cygdrive/c/Winny/Tab1.txt rsync://192.168.1.17/test sent 25 bytes received 8 bytes 22.00 bytes/sec total size is 126 speedup is 3.82 C:\Program Files\cwRsync\bin>
- -t オプションを付けると、タイムスタンプがコピーされる。(-a オプションを付けると、リードオンリー等の属性もコピーされる)
- -v オプションを付けると、コマンドの実行内容が詳細に表示される
- -t を付けて転送すると、2度目は同じタイムスタンプの同じファイルなので、転送されていないことが判る
クライアントからサーバ側へファイルをコピーする(その3)
C:\Program Files\cwRsync\bin>rsync -v -a -r /cygdrive/c/work/ rsync://192.168.1.17/test sending incremental file list ./ アニメ/ アニメ/うみねこのなく頃に #1.zip 少年コミック/ 少年コミック/安永航一郎/ 少年コミック/安永航一郎/うで立て一代男.zip 少年コミック/安永航一郎/六百万石の男.zip 少年コミック/島本和彦/ 少年コミック/島本和彦/噂の転校生.zip 同人誌/ sent 581 bytes received 107 bytes 458.67 bytes/sec total size is 88 speedup is 0.13 C:\Program Files\cwRsync\bin>rsync -v -a -r /cygdrive/c/work/ rsync://192.168.1.17/test sending incremental file list sent 303 bytes received 13 bytes 632.00 bytes/sec total size is 88 speedup is 0.28 C:\Program Files\cwRsync\bin>
サーバ側からクライアントへファイルをコピーする
C:\Program Files\cwRsync\bin>rsync -v -r -a rsync://192.168.1.17/test /cygdrive/c/work2 receiving incremental file list ./ アニメ/ アニメ/うみねこのなく頃に #1.zip 少年コミック/ 少年コミック/安永航一郎/ 少年コミック/安永航一郎/うで立て一代男.zip 少年コミック/安永航一郎/六百万石の男.zip 少年コミック/島本和彦/ 少年コミック/島本和彦/噂の転校生.zip 同人誌/ sent 125 bytes received 612 bytes 294.80 bytes/sec total size is 88 speedup is 0.12 C:\Program Files\cwRsync\bin>rsync -v -r -a rsync://192.168.1.17/test /cygdrive/c/work2 receiving incremental file list sent 31 bytes received 334 bytes 243.33 bytes/sec total size is 88 speedup is 0.24 C:\Program Files\cwRsync\bin>rsync -v -r -a rsync://192.168.1.17/test /cygdrive/c/work2 receiving incremental file list 少年コミック/安永航一郎/ 少年コミック/安永航一郎/うで立て一代男.zip 同人誌/ 同人誌/にょろーんちゅるやさん.zip sent 81 bytes received 66486 bytes 44378.00 bytes/sec total size is 66092 speedup is 0.99 C:\Program Files\cwRsync\bin>
testはフォルダではなく、共有名なのでtestフォルダがコピーされる訳ではなく、その中のファイルが全てコピーされることになる。
コピー先に指定したwork2はディレクトリなので、この中に共有フォルダのtestの中身がコピーされることになる。
3度目はサーバ側でうで立て一代男.zipを更新、にょろーんちゅるやさん.zipを追加してから行うと、その更新された分だけがコピーされていることが判る。
その他使えそうなオプション
- 参考:http://www.infoscience.co.jp/technical/rsync/rsync.html#option
- -z 転送時にgzip圧縮を使う(定番的に -v、-r、-z を組み合わせて -vrz と指定することがある模様)
- --stats ファイル転送時の統計情報を表示するようにして、rsync アルゴリズムの転送効率を表示します。
- --exclude "*.o" は *.o と一致する全てのファイル名を除外します。(metaファイルを除外するのに「*.meta」と指定すると良さそう。あと「--exclude Thumbs.db」とかでサムネイルキャッシュの転送抑止とか。)