rsyncコマンド¶
使い方¶
コマンドのパラメータの指定(概要)¶
rsync [オプション群] 同期元ディレクトリ 同期先ディレクトリ
同期元ディレクトリの指定時は、末尾に /
を付けるか付けないかで振る舞いが次のように変わります。
/
なし:同期元の最後のディレクトリが、同期先のディレクトリ下に生成/
あり:同期元の最後のディレクトリが、同期先のディレクトリ下には生成されず、同期元の最後のディレクトリの中にあるファイル・ディレクトリが同期先ディレクトリの下に生成
オプション(主要なもの)
-a
アーカイブモード(-rlptgoD -no-H -no-A -no-X
の指定と同義)-v
処理経過を表示-r
再帰的に同期を実施-l
シンボリックリンクをそのままシンボリックリンクとして生成-p
パーミッションを保持-t
タイムスタンプを保持-g
所有グループをそのまま保持-o
所有オーナーをそのまま保持-D
デバイスファイル、特殊ファイルを保持-H
ハードリンクを保持-A
ACL(アクセス制御リスト)を保持-X
拡張属性を保持-I
サイズおよびタイムスタンプが同じファイルも処理を実施--delete
同期元に存在しないファイルが同期先にある場合、同期先を削除--existing
同期先に既に存在するファイルが同期元で更新されていた場合に同期を実施--remove-source-files
同期後にファイルを削除
同期元ディレクトリ指定¶
例えば、/home/foo/work/myarchives 以下のディレクトリとファイルを、/data/bar/archives に同期させたいとします。
/home/foo/work/ +- myarchives +- alfa | +-- alfa_nnnn.txt +- bravo +-- bravo_nnnn.txt
$rsync -av /home/foo/work/myarchives /data/bar/archives
と指定すると、同期先は次のように myarchivesディレクトリを生成し、その中にディレクトリとファイルを展開します。
/data/bar/arvhives/ +- myarchives +- alfa | +-- alfa_nnnn.txt +- bravo +-- bravo_nnnn.txt
$rsync -av /home/foo/work/myarchives/ /data/bar/archives
と指定すると、同期先は次のように myarchivesディレクトリは生成せずに、その中のディレクトリとファイルを展開します。
/data/bar/arvhives/ +- alfa | +-- alfa_nnnn.txt +- bravo +-- bravo_nnnn.txt
2つのディレクトリの間を同期¶
T.B.D.
試験用のオプション¶
- --dry-run (-n)
試験モードとして実際には動作(コピー等)せず、状況を表示する - --verbose (-v)
動作内容の表示 - --list-only
コピーせずファイルのリストを生成