プロジェクト

全般

プロフィール

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
    コピーせずファイルのリストを生成


3ヶ月前に更新