rsync は「差分だけを高速・安全に同期する」ために頻用される定番コマンドです。
バックアップ・ミラーリング・サーバ間転送などでよく使われます。
基本構文
rsync [オプション] 転送元 転送先
転送元をファイル名、転送先をディレクトリ名とした場合は、転送先ディレクトリの下にファイルがコピーされます。

定番の構文
コピー元をディレクトリにすると、ディレクトリごとコピーされます。
rsync -avh –progress コピー元/ コピー先/

主なオプション
| オプション | 意味 |
|---|---|
| -a | アーカイブモード(再帰・パーミッション・所有者・時刻保持) |
| -v | 詳細表示 |
| -h | サイズを人間可読に表示 |
| –progress | 進捗表示 |
| -n | ドライラン(実行せず確認) |
削除同期
ミラーリングで使用します。
“–delete” オプションにて、転送元で削除されたファイルを転送先でも削除します。
バックアップ用途では誤削除に要注意です。
rsync -av –delete -n コピー元/ コピー先/
“-n” オプションで事前確認します。
SSH越しに転送(サーバ間)
リモート側には、 “ユーザ名@ホスト名:” を頭に付けます。
リモートから自分へコピー
rsync -avz ユーザ名@ホスト名:/コピー元/ コピー先/
自分からリモートへコピー
rsync -avz コピー元/ ユーザ名@ホスト名:/コピー先/

オプション “-z” は圧縮転送オプションです。
ポート設定する場合
rsync -avz -e “ssh -p 2222” user@remote:/コピー元/ コピー先/
“-e” オプションはリモートのシェルコマンドを指定。上記例ではポート2222番を使用してssh接続する。
除外・限定コピー
特定のファイルのコピーを除外する場合、 “–exclude=ファイル名” オプションでマッチしたファイルのコピーを除外。
rsync -av –exclude=”.git” –exclude=”node_modules” コピー元/ コピー先/
除外リストファイルに基づく除外は、 “–exclude-from=” オプション。
rsync -av –exclude-from=除外リストファイル.txt コピー元/ コピー先/
更新されたファイルだけコピー
オプション “-u” を使用
rsync -avu コピー元/ コピー先/
転送先の方が新しい場合は上書きしない
バックアップ向けオプション
rsync -av –backup –backup-dir=old_$(date +%F) コピー元/ コピー先/
上書きされる旧ファイルを別ディレクトリに退避
実用例
ローカルバックアップ
rsync -avh –delete ~/Documents/ /mnt/backup/Documents/
外付けディスクへ差分バックアップ
rsync -avh –progress /data/ /media/usb/data/
サーバの/var/wwwをバックアップ
rsync -avz –delete user@server:/var/www/ /backup/www/
よくあるトラブル回避チェックリスト
- ✔ / の有無を確認
- ✔ –delete は必ず -n で事前確認
- ✔ 権限問題 → sudo rsync
- ✔ 大規模転送 → –partial –progress
まとめ
rsyncは単純なコピーコマンドというより、サーバー間やストレージ間の同期やバックアップに重点を置いたコマンドのようです。
cronを用いての定期バックアップにも多用されます。
cpコマンドのssh版であるscpコマンドは現在セキュリティ上の理由で非推奨となっており、rsyncコマンド(又はsftp)が代替として推奨されています。
参考:dd / ddrescue / rsync の使い分け
ファイルコピーコマンド、 “dd” , “ddrescue” , “rsync” の使い分けについて
| 目的 | 推奨 |
|---|---|
| 日常バックアップ | rsync |
| 障害時データ救出 | ddrescue |
| 証拠保全 | dd / ddrescue + ハッシュ |
| データ保全 | ddrescue → read-only解析 |
対比表
| 観点 | rsync | dd | ddrescue |
|---|---|---|---|
| 主目的 | 日常バックアップ | 完全複製 | 障害ディスク救出 |
| 単位 | ファイル | ブロック | ブロック |
| 差分転送 | ◎ | ✕ | ✕ |
| 壊れた媒体 | ✕ | △(止まる) | ◎ |
| ファイルシステム理解 | あり | なし | なし |
| 再開 | ◎ | ✕ | ◎ |
| 法的証拠性 | ✕ | ◎ | ◎ |

コメント