2011-03-23 6 views
5

나는 각 실행시 웹 사이트의 모든 파일을 생성하는 정적 웹 사이트 생성기를 사용합니다. 파일을 생성 한 후, rsync를 사용하여 컨텐츠를 복사합니다.rsync가 변경되지 않은 파일의 타임 스탬프를 보존하는 방법

더 나은 캐싱을 허용하려면 rsync가 변경되지 않은 대상에서 해당 파일의 타임 스탬프를 수정하지 않았 으면합니다. 가능한가?

EDIT : 모든 원본 파일의 타임 스탬프는 대상 파일의 타임 스탬프보다 항상 새 것입니다.

답변

9

-c 옵션은 내가 원하는대로하는 것 같습니다. 필자의 경우 성능 저하는 문제가되지 않습니다.

+0

-t는 귀하의 경우에 더 좋을 것입니다. – Pungs

+0

파일 내용이 변경되지 않았더라도 소스 파일의 타임 스탬프가 대상 파일의 타임 스탬프보다 항상 최신이기 때문에 그렇게 생각하지 않습니다. –

+2

-c 옵션이 작동합니다. 한가지주의 할 점은 수정 시간을 변경하지 않으려면 -a 옵션을 사용하지 말아야한다는 것입니다. 자동으로 "수정 시간 보존"을 의미하는 -t를 호출하기 때문에 "수정 시간 덮어 쓰기"를 의미합니다. 로컬 파일의 수정 시간이있는 원격 파일. " – ishmael

0

-t 및 -E 플래그를 사용해 보셨습니까?

EDIT : 어 ... 또는 파일을 변경하지 않아도 웹 사이트를 재생성 할 때마다 변경된 소스 파일의 타임 스탬프입니까?

+0

예, 소스 파일 타임 스탬프는 항상 "now"로 변경됩니다. –

+0

그런 경우 --size-only를 사용하여 새 파일을 건너 뛰도록하십시오 (크기가 같다고 가정하면 ...). 조금 위험하지만 의도하지 않은 결과가 발생할 수 있습니다. -c와 함께 사용하면 조금 나아 지지만 속도는 느립니다. – MarcB

관련 문제