*변경된/새 파일만* 다른 디렉토리에 복사하시겠습니까?

*변경된/새 파일만* 다른 디렉토리에 복사하시겠습니까?

동기화를 유지하고 싶은 디렉토리가 두 개 있습니다.

백업 목적으로 rsync 명령을 실행하여 동기화를 완료하기 전에 검토할 수 있는 새 파일이나 변경된 파일을 별도의 USB 드라이브(또는 다른 디렉터리)에 복사하고 싶습니다.

마지막으로 내가 원하는 것은:

  1. 원래 디렉토리
  2. 백업 디렉터리(무엇이 있는지 확인하는 것 외에는 이 명령으로 건드리지 않음)
  3. 새 파일/변경된 파일만 포함하는 별도의 델타 디렉터리입니다.

가능합니까?

답변1

나는 더 나은 대답이https://serverfault.com/a/508272/173599. 여기에 관련 명령을 인용합니다.

rsync -aHxv --compare-dest=folder2/ folder1/ folder3/

folder1대상으로 와 비교 folder2하되 에 복사합니다 folder3.

답변2

영향을 받는 파일만 확인하고 파일 간의 차이점은 확인하지 않으려면 --dry-runrsync 옵션을 사용할 수 있습니다. 테스트할 모래밭을 설정해 보겠습니다.

$ 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.

관련 정보