다음 명령을 사용하여 로컬 컴퓨터와 원격 컴퓨터의 디렉터리를 비교합니다.
rsync -K --delete -n -avrc $cwd/* simon@${othIP}:$cwd > /tmp/output
매크로에는 분명한 값이 있습니다.
/tmp/output
그런 다음 동기화 후 원격으로 삭제될 파일을 찾기 위해 구문 분석할 수 있습니다 .
하지만 파일을 구별해야 해요
- exist on the *local* but do not exist on the *remote*
- exist on both but are different.
(@BowlOfRed가 지적했듯이 위의 명령은하다원격에는 있지만 로컬에는 없는 파일을 식별할 수 있습니다. )
누구든지 이 작업을 수행하는 방법을 추천할 수 있습니까? 어떤 조언이라도 진심으로 감사드립니다
답변1
원격으로 존재하지만 로컬에는 존재하지 않는 파일은 삭제되며 자세한 출력에 "삭제됨"으로 표시됩니다.파일 이름".
두 가지 모두에 대해 존재하지만 서로 다른 파일이 업데이트됩니다. 파일 이름만 표시합니다(앞에 "삭제" 없음).
"새" 파일과 "업데이트된" 파일을 구별해야 하는 경우 -i 플래그를 추가하세요. 새 파일에는 모든 속성이 "+"로 표시되고, 업데이트된 파일에는 특정 속성이 표시됩니다.
$ echo update > a/update ; echo new > a/new
$ rm a/delete_me_later
$ rsync --delete -ai a/ b/
*deleting delete_me_later
.d..t....... ./
>f++++++++++ new
>f.st....... update