rsync を使った転送・バックアップ

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 転送の進行状況を表示する。

References

Licensed under CC BY 4.0
Last updated on 2021-08-15 20:00 +0900
Built with Hugo
Theme Stack designed by Jimmy