rsync は SSH でのファイル・ディレクトリの転送・バックアップに便利な一方、 オプションが複雑なため間違えるとコピー先のデータを消してしまうこともある。 そこで、転送・バックアップのよく使うオプションについてまとめておく。
Copy
scp 相当の使い方をする場合
$ rsync -av source destination
中断した転送を再開できるようにする場合
$ rsync -avP source destination
-P
オプションでdestiation
に中断時点の一時データが残される
Backup
ディレクトリごとバックアップする場合
$ rsync -av --delete source destination
destination
の中にsource
ディレクトリがコピーされる- 通常はこの使い方をしておけば問題ないと思う
ディレクトリ間でファイルを同期する場合
$ rsync -av --delete source/ destination
source
の中身がdestination
の中身と同期されるdestination
の中身が強制的に置き換えられるので注意!
Useful options
Referenceより抜粋。
Option | Description |
---|---|
-a |
-rlptgoD と指定したのと同様の効果。元のパーミッションやグループなどを保持したまま同期できるので、基本的に付加しておくのがよい。アーカイブモードとも呼ばれる。 |
-v |
処理中の経過ファイル名を表示する。 |
-P |
--partial & --progress と同じ。 |
-z |
データを圧縮する。 |
--delete |
コピー元で削除されたファイルは、コピー先でも削除する。-a オプションと同時に指定することでコピー元とコピー先を同期できることになる。 |
--dry-run (-n ) |
実行時の動作だけを表示。テストに使用するとよい。 |
--partial |
転送を中断したファイルを保持する。 |
--progress |
転送の進行状況を表示する。 |