rsync가 파일을 변경하지 않았는지 어떻게 알 수 있나요?

rsync가 파일을 변경하지 않았는지 어떻게 알 수 있나요?

Bash 스크립트에서는 rsync를 사용하여 디렉터리의 정확한 복사본을 만듭니다.

rsync --verbose --archive --update --delete \
    ~/cat-pics/ \
    ~/top-secret/

하지만 전송된 항목이 있는지에 대한 피드백을 어떻게 받을 수 있나요? 이 작업으로 인해 파일이 변경되었는지 어떻게 알 수 있나요? 특히, 파일이 추가, 변경, 삭제되었는지 알고 싶습니다.

이 옵션을 봤는데 --stats출력이 bash 스크립트가 아닌 인간을 위해 만들어진 것 같습니다.

어떤 충고?

답변1

-i( )를 사용하면 --itemize-changes각 파일 변경에 대한 출력을 얻을 수 있습니다.

각 출력 줄의 첫 번째 문자(기본 형식)는 파일에 발생한 일을 나타냅니다. 필요한 경우 구문 분석과 관련된 형식으로 형식을 수정할 수 있습니다.

  • '<'는 파일이 원격 호스트로 전송(전송) 중임을 나타냅니다.

  • '>'는 파일이 로컬 호스트로 전송 중(수신)임을 의미합니다.

  • "c"는 프로젝트에 로컬 변경/생성이 발생함을 의미합니다(예: 디렉토리 생성 또는 심볼릭 링크 변경 등).

  • 'h'는 프로젝트가 다른 프로젝트에 대한 하드 링크임을 나타냅니다(--hard-links 필요).

  • '.'는 항목이 업데이트되지 않았음을 의미합니다(수정 중인 속성이 있을 수 있음).

  • "*"는 항목별 출력 영역의 나머지 부분에 메시지(예: "삭제")가 포함되어 있음을 의미합니다.

관련 정보