Rain WikiWindows · Linux · Android

rsync

コマンドラインツールすべての Linux ディストリビューション

rsyncはディレクトリ間やコンピュータ間でファイルをコピーし、変更された部分のみを転送するため、繰り返しコピーやバックアップを高速に行えます。ローカルまたはSSH経由で動作し、アーカイブオプション -a を使用することで権限、時刻、リンクを保持します。

1一般的なオプション

-a (archive) は権限、時刻、所有者、シンボリックリンクを保持し、再帰的にコピーします。-v は各ファイルを表示し、-h はサイズを読みやすく表示し、-z はネットワーク経由で圧縮し、--progress は進捗状況を表示します。

2末尾のスラッシュ

rsync -a src/ dest/ は src の中身を dest にコピーします。rsync -a src dest/ はディレクトリ自体をコピーし、dest/src を作成します。これを間違えるのが rsync で最も一般的なミスです。

3--delete と --dry-run

--delete はソースに存在しなくなったファイルを送信先から削除し、完全なミラーを作成します。--dry-run (-n) は何も変更せずに何が起こるかを表示するため、--delete を使用する際は必ず最初に実行してください。

フォルダをサーバーにバックアップする方法

  1. 最初にテスト: rsync -avhn --delete ~/Documents/ user@server:/backup/Documents/
  2. コピーまたは削除されるファイルのリストを確認します。
  3. 実際に実行: rsync -avh --delete ~/Documents/ user@server:/backup/Documents/
  4. 後で同じコマンドを繰り返すと、変更された部分のみが転送されます。

注意点

  • --delete を使用する場合、ソースパスを間違えると送信先が空になる可能性があるため、必ず最初に -n を付けて実行してください。
  • ミラーはバックアップ履歴ではありません。削除または破損したファイルも同様にミラーリングされます。

出典

  1. rsync(1) マニュアルページ download.samba.org
  2. rsync プロジェクトページ rsync.samba.org

最終確認: