충돌하는 두 파일 중 나중에 사용하는 두 디렉터리를 미러링하기 위해 rsync를 사용할 수 있습니까? [복사]

충돌하는 두 파일 중 나중에 사용하는 두 디렉터리를 미러링하기 위해 rsync를 사용할 수 있습니까? [복사]

나는 다음 명령을 통해 rsync를 사용하여 "기본" 하드 드라이브를 성공적으로 백업해 왔습니다.

rsync -aivr --delete --progress /src/my-files/ /dest/my-files

하지만 저는 외장 드라이브를 가지고 다니면서 거기에 있는 파일을 수정할 수도 있습니다. 위의 명령은 이러한 변경 사항을 지웁니다. 또한 유지하고 싶은 두 드라이브를 모두 변경했을 수 있으므로 src와 dest를 교환할 수도 없습니다.

내가 원하는 행동은 이것이다..

# rsync walks the src drive
# if a file is present in src that is not present in dest, then copy the file to dest
# if a file is present both in src and in dest, then compare modification times
#     and overwrite using the later one.
# if a file is present on dest but is not on src, then copy the file from dest to src.

위의 동작을 얻기 위해 rsync를 사용할 수 있습니까?

답변1

rsync단방향 작업입니다. 당신은 할 수노력하다이를 사용하여 양방향 복제를 구현하지만 취약하고 오류가 발생하기 쉽습니다. 그러나 스위치를 사용하여 rsync대상에서 최신 파일이 삭제되는 것을 방지할 수 있습니다 --update.

   -u, --update
          This forces rsync to skip any files which exist on the destination and have a modified time that is newer  than  the  source  file.   (If  an
          existing destination file has a modify time equal to the source file's, it will be updated if the sizes are different.)

          In  the  current implementation of --update, a difference of file format between the sender and receiver is always considered to be important
          enough for an update, no matter what date is on the objects.  In other words, if the source has a directory or a symlink where  the  destina-
          tion has a file, the transfer would occur regardless of the timestamps. 

관련 정보