同期を維持したいディレクトリが2つあります。
バックアップの目的で、rsyncコマンドを実行して同期を完了する前に確認できる新しいファイルまたは変更されたファイルを別のUSBドライブ(または別のディレクトリ)にコピーしたいと思います。
最後に私が望むものは:
- 元のディレクトリ
- バックアップディレクトリ(何があるかを確認する以外はこのコマンドに触れません)
- 新しいファイル/変更されたファイルのみを含む別のデルタディレクトリ。
可能ですか?
答え1
私はより良い答えですhttps://serverfault.com/a/508272/173599。ここに関連するコマンドを引用します。
rsync -aHxv --compare-dest=folder2/ folder1/ folder3/
folder1
ターゲットとfolder2
比較してもコピーしますfolder3
。
答え2
影響を受けるファイルのみを確認し、ファイル間の違いを確認したくない場合は、--dry-run
rsyncオプションを使用できます。テストする砂場を設定してみましょう。
$ cd /tmp
$ mkdir -p testing/{a,b}
$ cd testing/
$ touch a/hello a/world
$ ls a
hello
world
$ rsync -rv --append-verify a/ b
$ ls b
hello
world
これで、以下を変更しますa
。
$ echo 123 > a/hello
$ touch a/abc
今それを使用しrsync ... --dry-run ...
、何が起こるかを確認してください:
$ rsync -rv --append-verify --dry-run a/ b
sending incremental file list
abc
hello
sent 103 bytes received 22 bytes 250.00 bytes/sec
total size is 4 speedup is 0.03 (DRY RUN)
実際に変更がないことを確認できますb
。
$ ls b
hello
world
$ cat b/hello
$
ディレクトリ間の違いを確認するには、次のものを使用できますdiff
。
$ /bin/diff -aurN a b
diff -aurN a/hello b/hello
--- a/hello 2018-12-13 08:16:23.376761456 +1100
+++ b/hello 2018-12-13 08:16:11.306761686 +1100
@@ -1 +0,0 @@
-123
リモートシステムにあり、b
違いを確認する必要がある場合は、ローカルコピーを作成してもb
問題ありませんdiff
。