よく使うオプション

ssh経由でのrsync

$ rsync -av[uzI] [--progress --stat -P] -e ssh /path/to/src user@host:/path/to/dst

デフォルトでファイル名などのチェックをして同じなら更新しないようにしている. 初回アップロード時などは -I をつけるとこのチェックをスキップしてくれる.

-z は圧縮で,レベルを指定できる.こちらは叩くマシンのCPUリソースで調整.

-u, --update は転送先に同名のファイルが存在した場合,更新日時が それより新しい場合に更新する.

その他,途中経過を見たいなら --stats, --progress, -P がある.

また,ssh により通信は暗号化されるが,オーバヘッドが大きい.

リモートマシンとのオーバーヘッドを少なくするには, rsyncをデーモンモード(–daemon)で実行し rsyncプロトコル rsync:// を利用すればよい.

ssh の暗号化による負荷を少しでも抑えるには,暗号化方式を次のように指定する.

$ rsync -av -e 'ssh -c arcfour' /path/to/src user@remote:/path/to/dst

詳しくは公式リファレンス参照.

並列化

GNU Parallelの公式Exampleに rsyncの使用例 がある.

ここではファイルサイズの大きいものだけに限定して並列化している.

lsync

lsyncでリアルタイム同期

References