rsync 시 추가/제거 문제를 해결하는 방법은 무엇입니까?

rsync 시 추가/제거 문제를 해결하는 방법은 무엇입니까?

저는 두 대의 서로 다른 컴퓨터에서 작업 중이며 컴퓨터 간에 디렉터리 동기화를 유지하고 싶습니다. 예를 들어, 일반적으로 사용되는 스크립트가 많이 포함된 ~/scripts 폴더가 있습니다. 한 컴퓨터에서 새 스크립트를 만들거나 스크립트를 수정하는 경우 변경 사항이 다른 컴퓨터에 동기화되는지 확인하고 싶습니다.

질문은 분명해야 합니다. 파일을 추가하거나 제거하면 어떻게 되나요?

rsync는 파일이 추가되었는지 제거되었는지 알지 못하기 때문에 잘못된 동작이 발생할 수 있으며, 많은 양의 작업이 포함된 귀중한 파일이 삭제될 수 있습니다.

예를 들어 두 머신 모두에 파일 1과 2가 있고 머신 AI에 파일 3을 추가했지만 어떤 이유로 rsync를 수행하지 않는다고 가정해 보겠습니다. 그날 늦게 저는 머신 B에서 작업하고 rsync를 실행했습니다. 파일 3이 머신 B에 없기 때문에 rsync를 실행하면 B에 3이 있었다고 가정하지만 삭제했기 때문에 머신 A의 파일 3이 삭제되어 잠재적으로 많은 작업이 망가질 수 있습니다.

일을 하느라 바쁘고 때로는 잊어버리기 때문에 파일을 추가할 때마다 동기화를 시도하는 것은 비현실적입니다.

대안은 재동기화 중에 파일을 절대 삭제하지 않는 것이지만, 이렇게 하면 원치 않는 파일이 급증하게 됩니다. 이 경우 유일한 해결책은 특별한 삭제 명령을 사용하여 두 컴퓨터의 파일을 동시에 삭제하는 것입니다. 그러나 여기서 문제는 내 디렉토리에 컴파일러와 같이 자동으로 생성된 파일이 포함되어 있고 makefile이 개발 디렉토리에서 파일을 자동으로 생성하고 삭제한다는 것입니다. 이러한 디렉터리를 삭제하지 않고 재동기화하면 파일 플러딩이 발생합니다.

이 문제를 어떻게 해결할 수 있나요?

관련 정보