rsyncについての備忘録
rsyncを使うたびにググってる気がするのでよく使用するものを備忘録
基本形
同じサーバ上
rsync -a src dest
遠隔サーバへの転送
rsync -a src 遠隔ユーザ名@遠隔IPアドレス:dest
テスト
--dry-runを使うとコピーやdeleteを行うことなくテストできます。
同じサーバ上
rsync -av --dry-run src dest
帯域制限
本番などでサーバに与える負荷を調整したい場合などに。
一秒間にコピーする量を調整できます。例は10M/s。
同じサーバ上
rsync -av --bwlimit=10240 src dest
各種オプション
使用頻度の高いオプションをまとめてみた
| オプション名 | 使用用途 |
|---|---|
| -a | -rlptgoD オプションと同義 |
| -r | ディレクトリで再帰的に実行する |
| -l | ソフトリンクを維持する |
| -p | パーミッションを維持する |
| -t | タイムスタンプを維持する |
| -g | グループを維持する |
| -o | オーナーを維持する (root のみ) |
| -D | デバイスを維持する (root のみ) |
| --delete | srcになく、destに存在する場合、destから削除する。 |
| -v | 転送情報を詳しく表示 |
| -q | 転送情報を表示しない |
| -h | メガやギガを人間的な読み方にする。 |
| --exclude=PATTERN | 除外する条件を記述。正規表現も可能。複数指定したい場合は--exclude=PATTERNを複数記載する。 |
| --exclude-from=FILE | 除外する条件を記述したファイルを指定する。複数条件時はファイルないで改行区切りで複数指定する。 |
| --progress | 転送中の情報を表示。何件中の何件目など詳細に表示されるので多いときは結構有益な情報が表示される。 |
| -q | 転送情報を表示しない |
| -e | rsh の代替を指定。sshのポートがデフォルトでない場合などに「-e "ssh -p 8022"」といった形式で指定できる。 |
| --bwlimit=byte | 1秒間に送信できるバイトを指定する。例)--bwlimit=1024 |
| --dry-run | コピーは行いませんが、動作をテストできます。 |