Rsync 테스트 실행 통계 - "cp" 및 "rsync" 명령 실행 후 다른 통계

Rsync 테스트 실행 통계 - "cp" 및 "rsync" 명령 실행 후 다른 통계

임의의 파일을 생성하기 위해 다음과 같은 스크립트를 만들었습니다.

#!/bin/bash

for dir in `seq 1 10`
do
        mkdir /root/mandar/RsyncSrc/$dir
        cd /root/mandar/RsyncSrc/$dir
        for file in `seq 11 20`
        do
                touch /root/mandar/RsyncSrc/$dir/$file
        done
done

따라서 디렉토리의 내용은 /root/mandar/RsyncSrc다음과 같습니다.

1  10  2  3  4  5  6  7  8  9  mkfiles.sh

사례 1( cp명령 사용):

다음 명령을 실행하여 디렉터리 /root/mandar/RsyncSrc와 동기화합니다./root/mandar/RsyncDst

cp -R /root/mandar/RsyncSrc/* /root/mandar/RsyncDst/

디렉토리 내용 /root/mandar/RsyncDst:

1  10  2  3  4  5  6  7  8  9  mkfiles.sh

rsync dry-run이제 다음과 같이 영향을 받는 파일 목록을 가져오기 위해 실행합니다 .

rsync -avzm --stats --safe-links --dry-run --ignore-existing --human-readable /root/mandar/RsyncSrc/*  /root/mandar/RsyncDst/ > test.log

문서 내용 test.log:

building file list ... done
1/
10/
2/
3/
4/
5/
6/
7/
8/
9/

Number of files: 112
Number of files transferred: 0
Total file size: 234 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 926
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 963
Total bytes received: 42

sent 963 bytes  received 42 bytes  2.01K bytes/sec
total size is 234  speedup is 0.23 (DRY RUN)

사례 2( rsync명령 사용):

모든 것을 삭제 /root/mandar/RsyncDst하고 다음 명령을 실행하여 데이터를 동기화했습니다.

rsync -avzm --stats --safe-links --ignore-existing --human-readable /root/mandar/RsyncSrc/*  /root/mandar/RsyncDst/

그런 다음 dry-run다음과 같이 다시 실행하십시오.

rsync -avzm --stats --safe-links --dry-run --ignore-existing --human-readable /root/mandar/RsyncSrc/*  /root/mandar/RsyncDst/ > test.log

이번에는 내용은 test.log이렇습니다.

building file list ... done

Number of files: 112
Number of files transferred: 0
Total file size: 234 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 926
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 933
Total bytes received: 12

sent 933 bytes  received 12 bytes  1.89K bytes/sec
total size is 234  speedup is 0.25 (DRY RUN)
  1. rsync사례 2의 경우 로그 파일에 파일/디렉토리가 표시되지 않는 이유는 무엇입니까?
  2. 로그에 파일 목록을 표시해야 하는 경우 rsync(사례 2) 어떻게 해야 합니까?

답변1

-a이는 복사를 수행할 때 이 옵션을 사용 rsync하고 -a 옵션을 사용하지 않았기 때문입니다 cp. 이로 인해 복사된 파일의 타임스탬프가 cp보존되지 않습니다.

PS rsync에 추가 -v옵션을 제공하면 추가 출력이 발생합니다. 약간 다른 출력을 보고하는 rsync 버전 3.1.0 프로토콜 버전 31을 사용하고 있지만 결과는 사용자와 동일합니다. 초기 복사본에서 -a 옵션을 사용 하면 cprsync는 rsyncDstCp 및 rsyncDstRsync 디렉터리에 동일한 콘텐츠를 출력합니다.

관련 정보