rsync는 액세스 시간(atime)을 어떻게 유지합니까?

rsync는 액세스 시간(atime)을 어떻게 유지합니까?

저는 Fedora 33(GNOME)에서 rsync-3.2.3을 사용하고 있습니다.

atime그런데 파일과 폴더의 액세스 시간()을 어떻게 보존할 수 있을까요 ?

mtime이 명령을 사용하면 수정 시간() 만 보존할 수 있습니다 .

rsync -t

답변1

보류 atime(접속 시간)를 요청할 수 있습니다.원천--noatime플래그를 사용하지만 relatime(최신 기본값) 로 마운트된 파일 시스템에서는 noatime더 이상 꼭 필요하지 않습니다 .

rsync -av --noatime src/ dstHost:dst/

atime대상 시스템에 그대로 둘 수 있는 옵션이 없다는 것을 알고 있습니다 rsync. 대상 시스템에 액세스할 수 있으면 복사된 트리를 탐색할 수 있습니다. 이와 같은 것은 GNU/Linux 유형 시스템에서 작동합니다.

( cd src/ && find -type f -print0 ) |
    ssh dstHost 'cd dst && while IFS= read -r -d "" f; do  touch -a -d "@$(stat -c %Y "$f")" "$f"; done'

또는 두 로컬 파일 시스템 간의 복사본을 처리하는 경우

( cd src/ && find -type f -print0 ) |
    ( cd dst && while IFS= read -r -d "" f; do  touch -a -d "@$(stat -c %Y "$f")" "$f"; done )

기본적으로 두 스니펫은 동일한 작업을 수행합니다. 즉, 소스의 각 파일에 대해 대상에서 해당 파일을 찾아 atime일치하도록 업데이트합니다 mtime.

답변2

rsync 버전 3.2.0부터 atime에 영향을 미치는 두 가지 플래그가 있습니다.

  • --atimes, -U 보유접근(이용)시간
  • --open-noatime 열린 파일의 시간을 변경하지 마십시오

이에 대한 전체 설명은 다음과 같습니다.

       --atimes, -U
              This  tells  rsync to set the access (use) times of the destina‐
              tion files to the same value as the source files.

              If repeated, it also sets the --open-noatime option,  which  can
              help you to make the sending and receiving systems have the same
              access times on the transferred files  without  needing  to  run
              rsync an extra time after a file is transferred.

              Note  that  some  older rsync versions (prior to 3.2.0) may have
              been built with a pre-release --atimes patch that does not imply
              --open-noatime when this option is repeated.

       --open-noatime
              This  tells rsync to open files with the O_NOATIME flag (on sys‐
              tems that support it) to avoid changing the access time  of  the
              files  that  are being transferred.  If your OS does not support
              the O_NOATIME flag then rsync will silently ignore this  option.
              Note  also  that  some filesystems are mounted to avoid updating
              the atime on read access even without the O_NOATIME  flag  being
              set.

따라서 테스트를 통해 확인된 이에 대한 내 해석은 다음이 rsync가 atime을 업데이트하는 것을 방지 하고 atime을 다음으로 src복사한다는 것입니다 .srcdest

rsync -UU <src> <dest>

관련 정보