타임 스탬프 만 비교하는 rsync 스위치 있습니까? 여기에는 파일 크기 무시가 포함됩니다. 타임

rsync파일의 타임 스탬프 만 비교하고 내용을 무시할 수있는 방법이 있습니까? 여기에는 파일 크기 무시가 포함됩니다. 타임 스탬프 만 타임 스탬프 외에는 없습니다.



답변

Rsync는 타임 스탬프 만 사용하여 파일을 비교할 수 없습니다. 그것은 것입니다 항상 관계없이 파일 크기를 비교하고, 지정하면 -c그것은 또한 파일의 체크섬을 비교합니다.

rsync의 요점은 하나의 파일 트리를 다른 파일 트리와 일치시키는 것입니다. 한 트리의 파일이 다른 트리의 동일한 파일과 크기가 다르면 논리적으로 달라야합니다. rsync가 복사합니다. 어쨌든

원하는 방식으로 파일을 복사하려면 다른 도구를 사용하여 다른 방법을 채택해야합니다.

알려진 날짜 이후에 변경된 파일 만 복사하려는 경우 (예 : 마지막으로 파일을 복사 한 경우) find의 -cnewer 플래그를 사용할 수 있습니다. 다음 작은 스크립트는 마지막으로 실행 된 이후 변경된 파일을 찾습니다.

find /path/to/files -cnewer /tmp/lastSync
touch /tmp/lastSync

-cnewer는 파일의 수정 된 시간을 지정된 파일의 시간과 비교합니다 (이 예에서는 / tmp / lastSync).

-cnewer file
   File's  status  was last changed more recently than file was modified.
   If file is a symbolic link and the -H option or the -L option is in
   effect, the status-change time of the file it points to is always used.

touch 명령은 / tmp / lastSync의 타임 스탬프를 업데이트하여 스크립트가 방금 실행되었다는 사실을 반영하여 후속 스크립트 실행에서 현재 시간을 시간 기준으로 사용합니다.

그런 다음 find 명령의 출력을 사용하여 원하는 방법 (cp, scp 등)을 사용하여 대상에 복사 할 파일을 지정할 수 있습니다.