나는 bash 래퍼 스크립트를 사용하고 rsync
있으므로 옵션을 사용하여 실행 --dry-run
한 다음 출력을 grep하여 "삭제"를 확인하므로 일부 오류로 인해 데이터가 손실되지 않는지 확인할 수 있습니다. (로그 출력에서 삭제된 파일을 찾을 수 없지만 --log-file
이는 별도의 질문입니다.)
하지만 이렇게 추가 안전 조치를 취하더라도 여전히 문제를 일으킬 수 있습니다. 실수로 rsync 명령에서 일반적인 소스 폴더와 대상 폴더를 바꾸고 대상 폴더에 없는 일부 파일을 소스 폴더에서 삭제했습니다. 래퍼 스크립트 출력에서 파일이 삭제된 것으로 표시되는 것을 볼 수 있지만 경로 이름이 상대적이고 해당 파일이 반대쪽(일반적으로 대상)에 있다고 가정하기 때문에 오류가 누락되었습니다.
아래 비슷한 질문에 제안된 대로 rsync 옵션을 사용해 보았지만 --relative
원하는 효과가 없었습니다.
(아직 이 질문에 대해 댓글을 달 수 있는 평판이 없기 때문에 새 질문을 만들고 있으며 답변을 물어볼 필요도 없을 것 같습니다. 제가 틀렸다면 정정해 주시기 바랍니다.)
rsync
일부 명령줄 옵션을 사용하여 이를 달성하는 방법에 대한 아이디어가 있습니까?
답변1
나도 같은 실수를 저질렀고 이 질문에 대한 답을 찾고 있었습니다. 설명하는 방식으로 rsync의 기본 동작을 변경하는 방법을 찾지 못했습니다. 테스트 실행을 수행하기 전에 소스 폴더에 고유한 파일을 생성하여 이 문제를 해결했습니다. rsync의 로그에 파일이 나타나고 삭제 표시가 나타나면 뭔가 잘못되었음을 알 수 있습니다.