수정 시간을 기준으로 한 rsync

수정 시간을 기준으로 한 rsync

나는 rsync 를 사용하고 있습니다 rsync $source $destination. 수정 시간을 기준으로 재동기화하는 방법은 무엇입니까? 파일 크기에 대한 옵션은 표시되지만 --size-only수정 시간은 표시되지 않습니까?

답변1

귀하의 질문을 올바르게 이해하고 있습니까? "수정 시간" rsync은 복제본을 업데이트해야 하는지 여부를 결정하는 기본 기준 중 하나입니다 .

~에서man rsync

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

답변2

가장 쉬운 방법은 다음 명령을 실행하는 것입니다.

rsync -an /path/to/source /path/to/destination

그런 다음 필요한 파일만 전송되었는지 확인하십시오. 이를 확인한 후 -n플래그 없이 위 명령을 실행하면 목표를 달성할 수 있습니다. 사용자 roaima가 지적했듯이 목표를 달성할 수 있는 또 다른 플래그가 있습니다 -t. 이 플래그를 사용하는 것은 사용에 대한 모든 정보를 읽는 -a것과 같습니다 -rlptgoD.rsync여기.

또 다른 방법은 다음 명령을 사용하는 것입니다.이 답변:

 find /path/to/source -file -mtime +3 -exec rsync {} /path/to/destination \;

따라서 이를 사용하여 find특정 날짜에 3일 전에 수정된 날짜가 있는 $SOURCE모든 파일을 찾을 수 있습니다. -mtime +3원하는 일수로 변경할 수 있습니다 . 제공된 모든 파일을 식별한 후에 는 원하는 옵션을 사용 $SOURCE하여 .rsync$DESTINATION

관련 정보