Bash 스크립트에서는 rsync를 사용하여 디렉터리의 정확한 복사본을 만듭니다.
rsync --verbose --archive --update --delete \
~/cat-pics/ \
~/top-secret/
하지만 전송된 항목이 있는지에 대한 피드백을 어떻게 받을 수 있나요? 이 작업으로 인해 파일이 변경되었는지 어떻게 알 수 있나요? 특히, 파일이 추가, 변경, 삭제되었는지 알고 싶습니다.
이 옵션을 봤는데 --stats
출력이 bash 스크립트가 아닌 인간을 위해 만들어진 것 같습니다.
어떤 충고?
답변1
-i
( )를 사용하면 --itemize-changes
각 파일 변경에 대한 출력을 얻을 수 있습니다.
각 출력 줄의 첫 번째 문자(기본 형식)는 파일에 발생한 일을 나타냅니다. 필요한 경우 구문 분석과 관련된 형식으로 형식을 수정할 수 있습니다.
'<'는 파일이 원격 호스트로 전송(전송) 중임을 나타냅니다.
'>'는 파일이 로컬 호스트로 전송 중(수신)임을 의미합니다.
"c"는 프로젝트에 로컬 변경/생성이 발생함을 의미합니다(예: 디렉토리 생성 또는 심볼릭 링크 변경 등).
'h'는 프로젝트가 다른 프로젝트에 대한 하드 링크임을 나타냅니다(--hard-links 필요).
'.'는 항목이 업데이트되지 않았음을 의미합니다(수정 중인 속성이 있을 수 있음).
"*"는 항목별 출력 영역의 나머지 부분에 메시지(예: "삭제")가 포함되어 있음을 의미합니다.