rsync: 건너뛴 파일에 대해 알림

rsync: 건너뛴 파일에 대해 알림

"update" 옵션과 함께 다음 rsync명령을 사용하고 있습니다. 즉, 싱크의 최신 파일을 건너뜁니다. 나에게 말할 필요가 있다는 점을 제외하고는 작동합니다건너뛴 파일수신기에서 더 최신이기 때문입니다.

rsync -ahHX --delete --itemize-changes --stats --update /path/to/source/ --exclude=/dir1/ --exclude=/dir2/ --exclude=/dir3/ /path/to/receiver/

매뉴얼 페이지를 보았지만 그러한 옵션이 표시되지 않습니다. 방금 놓쳤거나 뭔가 이해하지 못했기를 바랍니다.

rsync가 이를 수행하지 않으면 어떤 다른 도구를 사용할 수 있습니까? 시도해 보았지만 diff -rqw /path/to/source/ /path/to/receiver/시간이 너무 오래 걸립니다. 그것은 내가 필요로 하는 것보다 더 많은 일을 합니다.

총 파일 크기는 24.60GB, 총 71,835개 파일입니다.

답변1

더 나은 해결책이 있었으면 좋겠지만 제가 생각해낸 것은 다음과 같습니다.

먼저 복사 작업의 반대 방향으로 이 검사를 실행합니다.

rsync --dry-run -ahvP --itemize-changes --stats /path/to/receiver/ /path/to/source/

그러면 수신기에 어떤 파일이 최신인지 알려줍니다.(따라서 내 rsync 명령에서는 건너뜁니다.) 파일을 수동으로 처리한 다음 원래 rsync 명령을 실행할 수 있습니다.

rsync -ahHX --delete --itemize-changes --stats --update /path/to/source/ --exclude=/dir1/ --exclude=/dir2/ --exclude=/dir3/ /path/to/receiver/

이것은 내 목표를 달성하지만 rsync가 파일 목록을 두 번 만들 때까지 기다리는 것이 포함됩니다. 매번 15초 정도 소요됩니다. 더 나은 해결책이 없다면 나는 그것으로 살아갈 수 있습니다.

답변2

두 가지 수준의 세부정보를 추가할 수 있습니다.

$ rsync -a --update -vv a/ b/
sending incremental file list
delta-transmission disabled for local transfer or --whole-file
1 is uptodate
2 is uptodate
3 is newer
4 is uptodate
5 is newer
total: matches=0  hash_hits=0  false_alarms=0 data=0

관련 정보