rsyncコマンド

Linux
OLYMPUS DIGITAL CAMERA
この記事は約4分で読めます。

rsync は「差分だけを高速・安全に同期する」ために頻用される定番コマンドです。

バックアップ・ミラーリング・サーバ間転送などでよく使われます。

基本構文

転送元をファイル名、転送先をディレクトリ名とした場合は、転送先ディレクトリの下にファイルがコピーされます。

rsync

定番の構文

コピー元をディレクトリにすると、ディレクトリごとコピーされます。

rsync -avh

主なオプション

オプション意味
-aアーカイブモード(再帰・パーミッション・所有者・時刻保持)
-v詳細表示
-hサイズを人間可読に表示
–progress進捗表示
-nドライラン(実行せず確認)

削除同期

ミラーリングで使用します。

“–delete” オプションにて、転送元で削除されたファイルを転送先でも削除します。

バックアップ用途では誤削除に要注意です。

“-n” オプションで事前確認します。

SSH越しに転送(サーバ間)

リモート側には、 “ユーザ名@ホスト名:” を頭に付けます。

リモートから自分へコピー

自分からリモートへコピー

rsync over ssh

オプション “-z” は圧縮転送オプションです。

ポート設定する場合

“-e” オプションはリモートのシェルコマンドを指定。上記例ではポート2222番を使用してssh接続する。

除外・限定コピー

特定のファイルのコピーを除外する場合、 “–exclude=ファイル名” オプションでマッチしたファイルのコピーを除外。

除外リストファイルに基づく除外は、 “–exclude-from=” オプション。

更新されたファイルだけコピー

オプション “-u” を使用

転送先の方が新しい場合は上書きしない

バックアップ向けオプション

上書きされる旧ファイルを別ディレクトリに退避

実用例

ローカルバックアップ

外付けディスクへ差分バックアップ

サーバの/var/wwwをバックアップ

よくあるトラブル回避チェックリスト

まとめ

rsyncは単純なコピーコマンドというより、サーバー間やストレージ間の同期やバックアップに重点を置いたコマンドのようです。

cronを用いての定期バックアップにも多用されます。

cpコマンドのssh版であるscpコマンドは現在セキュリティ上の理由で非推奨となっており、rsyncコマンド(又はsftp)が代替として推奨されています。

参考:dd / ddrescue / rsync の使い分け

ファイルコピーコマンド、 “dd” , “ddrescue” , “rsync” の使い分けについて

目的推奨
日常バックアップrsync
障害時データ救出ddrescue
証拠保全dd / ddrescue + ハッシュ
データ保全ddrescue → read-only解析

対比表

観点rsyncddddrescue
主目的日常バックアップ完全複製障害ディスク救出
単位ファイルブロックブロック
差分転送
壊れた媒体△(止まる)
ファイルシステム理解ありなしなし
再開
法的証拠性

コメント

タイトルとURLをコピーしました