rsync コマンドまとめ

スポンサーリンク
スポンサーリンク

リモートマシンとローカルマシン、あるいはリモートマシン同士でファイルやディレクトリを同期する際に使用する Linux コマンドです。

コマンド

コマンドの基本は、以下のような形式になります。


$ rsync [オプション] 同期元 同期先

オプション
オプション説明
-aオプション -rlptgoD と同じ意味となり、ディレクトリを再帰的に、オーナー・グループ・パーミッション・タイムスタンプ情報を保持したまま同期します。
-gグループ情報を保持したまま同期します。
-lシンボリックリンク情報を保持したまま同期します。
-oオーナー情報を保持したまま同期します。
-pパーミッション情報を保持したまま同期します。
-rディレクトリを再帰的に同期します。
-tタイムスタンプ情報を保持したまま同期します。
-u同期元と同期先を比較し、追加、更新されたファイル、ディレクトリのみを同期します。
-v同期中のファイル名やバイト数などの情報を表示します。
-z通信を圧縮します。
-n–dry-run となり、実際の処理は実行されず、テストモードで実行することができます。
-4IPv4を使用します。
-6IPv6を使用します。
–delete同期元で削除されたファイルを同期先でも削除します。
–excludeパターンに一致するディレクトリやファイルを除外します。
–includeパターンに一致するディレクトリやファイルのみ対象にします。
※–excludeと併用した場合に有効となります。
コマンド早見表

・ローカルのディレクトリ間で同期


$ rsync -av dir/ backup/

・差分のみを同期

-u オプションを指定します。

 
$ rsync -avu dir/ backup/ 

・テストモードで実行

-n オプションを指定します。

 
$ rsync -avn dir/ backup/ 

・ローカルディレクトリをリモートディレクトリへ同期

 $ rsync -auvz dir/ user@server.com:/home/backup/ 

・リモートディレクトリをローカルへ同期


$ rsync -auvz user@server.com:/home/dir/ backup/

・特定のディレクトリを除外

–exclude オプションを指定します。


$ rsync -auvz --exclude='log_dir' dir/ user@server.com:/home/backup/

・特定のファイルのみを同期

–include、–exclude オプションを指定します。


$ rsync -auvz --include="*.php" --exclude="*" dir/ user@server.com:/home/backup/

コメント

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