나는 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