rsync는 속성은 다르지만 수정 시간은 동일한 파일을 복사하지 않습니다.

rsync는 속성은 다르지만 수정 시간은 동일한 파일을 복사하지 않습니다.

백업을 수행하기 위해 rsync를 사용하고 있습니다. 이것은 내 명령줄입니다.

sudo rsync -avuh --delete --stats --log-file=$LOGFILE --exclude-from $EXCLUDE $SOURCE $DEST

이것은 대부분 작동합니다. 그런데 오늘 저는 파일의 속성을 변경하여 실행 가능하게 만드는 시나리오를 접했습니다. 호기심에 rsync를 실행했지만 해당 파일이 대상으로 복사되는 것으로 표시되지 않았습니다.

파일 내용은 정확히 동일하며 다음은 stat 출력입니다.

  파일: `프로젝트/simpleFlash.py'
  크기: 706 블록: 8 IO 블록: 4096 일반 파일
장치: 802h/2050d Inode: 56961 링크: 1
액세스: (0755/-rwxr-xr-x) Uid: ( 1000/pi) Gid: ( 1000/pi)
접속 : 2015-03-26 17:13:29.970428613 -0400
수정: 2015-02-17 00:16:44.558033934 -0500
변경: 2015-05-19 13:53:28.401164123 -0400
 출생: -

mtimes는 동일하지만 ctime은 다릅니다. mtime이 동일한 파일에 대해 rsync가 파일 속성 변경 사항을 확인하도록 하려면 어떻게 해야 합니까?

명세서:
재동기화 3.0.9
FS: 확장4
리눅스 커널: 3.18.11+

답변1

매뉴얼 페이지 에 명시된 바와 같이 rsync(1):

Rsync는 크기나 마지막 수정 시간이 변경된 파일을 찾는 "빠른 확인" 알고리즘(기본값)을 사용하여 전송해야 하는 파일을 찾습니다. 다른 보존된 속성(옵션에서 요청한 대로)의 모든 변경 사항은 빠른 검사에서 파일의 데이터를 업데이트할 필요가 없음을 나타내는 경우 대상 파일에 직접 적용됩니다.

즉, rsync속성을 전송하라고 지시하면 해당 속성이 업데이트됩니다. 누락된 속성은 권한이라고 하셨으므로 명령줄에 -p또는 를 추가하면 --perms됩니다.

관련 정보