rsyncを使って差分のあるファイルを一覧表示

ローカルファイルとリモートファイルの差分と取って、
ファイルの比較や一覧を表示したいなぁ~って事でやりました。

diff」だとローカルにあるディレクトリやファイルどうしならOKだけど、
リモートとだとちょっと面倒かなぁ~って思い「rsync」を使って、
下記のような感じで実行。

rsync -nav -e ssh /home/www/test_dir01/ backup.com:/home/www/test_dir02/

rsync -nav -e ssh (バックアップ元のディレクトリ)(バックアップ先のホスト名):(バックアップ先のディレクトリ)」って書くのかな?
と不安だけどまずはやってみないとねって事で・・・
下記が実行した結果。

%rsync -nav -e ssh /home/www/test_dir01/ backup.com:/home/www/test_dir02/
building file list … done
test_a/test_a.php
test_c/test.php

wrote 376 bytes read 28 bytes 808.00 bytes/sec
total size is 939 speedup is 2.32

こんな風に返ってくるのかぁ~。
なるほど。
じゃ~一覧を作りたいから、要らない行は削除して配列にでも
突っ込むかぁ~!!!

って事で出来ました。

「-nav」ってオプションが解らなかったんだよねぇ~・・・。

一応オプションの説明も調べたんでメモ。

-a, –archive 可能な限りファイルの情報を保持します。
-n, –dry-run 実行時の動作だけを表示。
-v, –verbose バックアップ時にバックアップしているファイル名を表示する。

まぁ~とりあえず出来ましたよ。

sshでつないだ場合、公開鍵を設定しないといけないのを記載するのを忘れてたので、
後日追記って事で・・・。

イロイロ調べてたらこういいうミスが多いので気をつけるようにみたいなのがあったので、追記。

ディレクトリ指定の際の最後に「/」があるかないかによる動作の相違です。
この「/」の入力を忘れ、いろいろトラぶったので注意が必要です。
コピー元の最後の/をつけ忘れると、コピー先で指定したディレクトリの下に
フォルダが作成されその配下にファイルがコピーされます。

気をつけないとね。

投稿者:

kishir

趣味: sk8, ピスト、ターンテーブル、レコード 仕事: Python, Objective-C, PHP, JavaScript