출처: https://linuxhint.com/use-rsync-dry-run/
리눅스 시스템 기반의 rsync는 파일 동기화 도구이다. 이 도구는 “델타 알고리즘”에 기반 하였으며 외부 파일의 동기화를 빠르게 한다. 네트워크를 통해 파일의 차이점이나 수정 사항만 전송하여 이 알고리즘을 배포합니다. 파일 동기화의 경우 rsync는 링크 끝 중 하나에 존재하는 파일 셋트가 필요하지 않습니다. 그러므로 rsync는 가벼운 프로그램으로 간주됩니다. 초기 파일들의 전송이 완료된 후 변경된 파일 비트(bits)만 동기화합니다. 또한 방화벽 외부에 있는 원격 시스템에 데이터를 동기화하는 offsite backup을 지원합니다. 많은 리눅스 사용자들이 웹사이트를 미러링 하는 것을 위해 위해 rsync를 활용한다.
-dry-run 옵션을 사용하면 rsync 명령이 변경 없이 시험을 실행할 수 있습니다. 대부분의 경우 이 프로세스는 실제 실행과 동일한 출력을 처리합니다.
(“–dry-run” option allows the rsync command to run a trial without making any changes—most of the time, this process the same output as the real execution.)
rsync 명령어는 다양한 옵션과 결합되어 누군가가 rsync 명령을 실행하기 전에 수행할 작업을 지정합니다.
(The rsync command is combined with various options to specify what the rsync command will do before someone can execute it.)
그러나 -itemize-changes도 또한 dry run과 같이 행동해야만 한다.
(However, the “–itemize-changes” should also behave the same as a dry run.)
만약 두 출력이 동일하지 않으면 반드시 버그가 있는 것입니다.
-dry-run 실행하면 파일 전송을 위한 실제 데이터를 동기화하지 않습니다. -progress작업은 영향이 없다.
따라서 수신 및 전송된 바이트, 일치된 데이터 및 리터럴(literal) 데이터 통계는 최소화됩니다.
게다가 speedup값은 파일 전송이 필요하지 않은 실제 실행과 동일합니다.
rsync -dry-run을 사용하는 것:
rsync -dry-run과 함께 -delete 옵션:
시험삼아 실행하는 동안 파일을 삭제하려면 rsync -dry-run을 활용하세요.
다음은 rsync 명령 형식의 구문입니다.
rsync -av --dry-run --delete Source remote_host:Destination.
아래의 제공된 명령은 파일 삭제와 결합된 dry run을 수행하기 위한 표준 rsync 문법을 기반으로 합니다.
rsync -av --dry-run --delete testdir1 10.0.2.15:/home/testdir2

-dry-run이지만, 실제 파일 동기화를 하는 동안 유사한 출력을 얻게 될 것입니다.
터미널은 터미널 창 아래에 “DRY RUN”을 표시하여 dry run만 실제가 아님을 확인했습니다.
rsync -dry-run과 함께 `-chown 명령:rsync 명령에서 -chown 옵션을 사용하여 dry run을 실행하는 동안 소유권과 목적지 디렉토리의 그룹을 설정할 수 있다.
아래 제공된 rsync 명령의 문법을 확인해 주세요.
rsync -avhe ssh --dry-run --chown=USER:GROUP Source user@remote-host:Destination
“user”, “group”, “remote_host”를 명확히 하고 dry run을 실행하세요.
rsync -avhe ssh --dry-run --chown=linuxhint:linuxhint ./testdir1 linuxhint@10.0.2.15:/

rsync -dry-run과 함께 “head”와 “tail” 명령어들:“>”연산자를 사용하여 rsync -dry-run 명령의 출력을 파일로 리디렉션할 수 있습니다.
(You can also redirect the output of the rsync –dry-run command to any file by using the “>” operator.)
뿐만 아니라 head와 tail 명령을 활용하여 저장할 dry run 출력의 특정 부분을 선택합니다.
rsync 명령의 문법을 살펴 봐 주세요.
rsync --dry-run -avz Source Destination | head --lines=-3 | tail --lines=+3 > Filename
우리는 아래 제공된 명령을 실행할 수 있습니다. 그리고 모든 분류된 dry run 출력은 “include.txt” 파일에 저장 될 것 입니다.
rsync --dry-run -avz Source Destination | head --lines=-3 | tail --lines=+3 > Filename
이 절차가 끝나면 "cat" 명령을 실행하여 "include.txt" 파일의 내용을 확인합니다.
cat include.txt

리눅스 기반의 시스템에서 rsync는 무료 소프트웨어 유틸리티(free software utility)로서 존재합니다.
우리는 로컬에서 원격 시스템으로 디렉토리와 파일들을 동기화하는데 사용할 수 있거나 같은 시스템에서 rsync 명령을 “-dry-run” 옵션과 결합하여 이 유틸리티(rsync)는 변경 사항 없이 시험삼아 실행합니다. 이 글에서는 우리가 rsync -dry-run 명령 실행의 3가지 다른점을 살펴보았습니다.