항상 동일한 날짜 타임스탬프(수정된 경우에도)와 동일한 파일 크기를 갖는 /home/my/some/filename.xx 파일이 있습니다. 매번 이 특정 파일만 복사하도록 rsync를 어떻게 지정합니까? 내 현재 백업 명령은 다음과 같습니다.
sudo rsync -axvq --exclude /home/my/it/ --exclude /oit -e "ssh -i /home/my/.ssh/id_rsa" --rsync-path="sudo rsync" / [email protected]:/backup
답변1
파일 이름에 따라 서로 다른 파일을 다르게 처리하도록 rsync에 지시하는 유일한 방법은 필터를 통하는 것입니다. 필터는 파일이 완전히 동기화되었는지 또는 파일이 삭제되었는지 확인할 수 있지만 파일이 최신인지 확인하는 데 사용되는 방법은 확인할 수 없습니다.
따라서 두 개의 별도 rsync 명령을 사용해야 합니다. 하나는 이 파일을 제외하고 다른 하나는 이 파일에 대해 특별히 다른 파일 비교 방법을 사용합니다.
rsync -axvq --exclude /home/my/some/filename.xx … / [email protected]:/backup &&
rsync -axvq --checksum --include / --include /filename.xx --exclude '*' /home/my/some/ [email protected]:/backup/home/my/some/
두 번째 명령에서는 디렉터리를 동기화하지만 전송하려는 파일을 제외한 모든 파일을 제외합니다. 내가 이렇게 하는 이유는 디렉토리 filename.xx
가 생성되면 수정될 디렉토리의 타임스탬프를 복사하기 위해서입니다 . 이 특별한 경우가 귀찮지 않다면 두 번째 줄을 단순화하여 복사할 수 있습니다 filename.xx
.