| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 
 | // 基本$ rsync -avz /path/from/ /path/to/
 
 -z, --compress
 転送時に gzip 圧縮を使用する。
 -v, --verbose
 コピーするファイル名を標準出力する。
 -a, --archive
 -rlptgoD と同義。(--recursive --links --perms --times --group --owner --devices)
 -r, --recursive
 ディレクトリを再帰的にコピーする。このオプションを指定していないと、rsync はディレクトリを全くコピーしない。
 -l, --links
 シンボリックリンクを DEST で作り直す。
 -p, --perms
 DEST のパーミッションを SOURCE と同じにする。
 -t, --times
 ファイルの転送時に、修正時間情報もリモートへ転送する。
 -g, --group
 DEST の所有グループを SOURCE と同じにする。スーパーユーザで実行しないと所有グループを変更できない。
 グループ ID (GID) を使う場合は --numeric-ids オプションを追加する。
 -o, --owner
 DEST の所有者を SOURCE と同じにする。スーパーユーザで実行しないと所有者を変更できない。
 ユーザ ID (UID) を使う場合は --numeric-ids オプションを追加する。
 -D
 デバイスファイルとスペシャルファイルを維持する。
 --devices --specials と同義。
 
 | 
dru-run(-n)
| 1
 | $ rsync -avz -n /path/from/ /path/to/
 | 
fromに無いファイルを削除して完全同期(–delete)
| 1
 | $ rsync -avz --delete /path/from/ /path/to/
 | 
一部のファイルを除外したりする(–exclude, –include)
左から順に判定
| 1
 | $ rsync -avz --exclude="*.csv" --exclude="*.json" --include="*" /path/from/ /path/to/
 | 
–exclude, –includeを外部ファイルから(–exclude-from, –include-from)
| 1
 | $ rsync -avz --exclude-from=exclude.txt --include-from=include.txt /path/from/ /path/to/
 | 
別途sshコマンド指定が必要な場合の例
基本的には~/.ssh/config側で解決するのがいいです
| 1
 | $ rsync -avz -e "ssh -p [ポート] -i [秘密鍵]" /path/from/ [SSHユーザ]@[SSHホスト]:/path/to/
 | 
rsyncの「/tmpに一時保存してからコピー」する動作を「直接上書きコピー」するようにする(–inplace)
大きなファイルをrsyncする際の処理時間短縮などに有効
| 1
 | $ rsync -avz --inplace /path/from/ /path/to/
 | 
rsyncコマンドに帯域制限をかける(–bwlimit=[KB/sec])
| 1
 | $ rsync -avz --bwlimit=5120 /path/from/ /path/to/
 |