rsync와 양방향 동기화 파일을 삭제하면됩니다. 따라서 다음과 같이 rsync를

rsync와 양방향 또는 양방향 동기화를 설정하려고합니다. 필자의 경우 B에서 A로 동기화 할 때 파일을 삭제하면됩니다. 따라서 다음과 같이 rsync를 두 번 실행하려고했습니다.

rsync -rtuv ./A/ ./B/
rsync -rtuv --delete ./B/ ./A/

이 솔루션 의이 문제는 rsync (AB)를 실행 한 직후에 rsync (B-> A)를 실행할 때 동기화 사이에 생성 된 새 파일도 제거된다는 것입니다.

이 날짜 / 시간 이전에 파일을 만든 경우에만 파일을 삭제하는 조건으로 타임 스탬프를 지정할 수있는 방법이 있습니까?

업데이트 :

통합 솔루션이 있음을 이해하지만 통합에 대한 문제는 양쪽 끝에 설치해야합니다. 원격 서버와 동기화 중이며 원격 끝에 unison을 설치할 수 없습니다.



답변

정확히이 작업을 위해 설계된 osync를 시도 할 수 있습니다. 한 번 복잡한 rsync 명령 시퀀스를 설정하여 작업을 수행했지만 이제는 osync를 사용합니다.

https://github.com/deajan/osync

내부적으로 rsync를 사용하므로 rsync를 사용할 수있는 모든 상황에 적합해야합니다.


답변

rsync이 작업에 대한 잘못된 도구입니다. 정확히 발생한 이유입니다. 대신 다음을 사용하십시오 unison.

unison A/ B/

당신이 처음 실행은 고유에있는 파일 식별 A및에 유일하게있는 자들을 B. 또한 두 곳에있는 것을 표시하고 덮어 쓸 것을 식별하도록 요청합니다.

당신이 실행할 때 그것은 변경 사항 복사됩니다 ABB로를 A수동 해결을 위해 두 곳에서 변경 한 모든 파일을 신고.

mkdir A B
date > A/date
who > B/who
unison A/ B/
# Lots of output from unison, showing synchronisation

ls A
date    who
ls B
date    who

date > A/date
unison A/ B/
# Lots of output from unison, showing synchronisation

unison가정을 정의하여 동기화 중에 요청되는 질문 수를 줄여 프로세스를 자동화하는 데 유용한 유용한 플래그가 많이 있습니다 .


답변

정말로 필요한 것은 Rclone 입니다. Rclone은 클라우드 스토리지 (박스, 드롭 박스, 넥스트 클라우드, ftp 등) 및 로컬 스토리지를위한 rsync입니다.