동기화되기 전에 파일의 내용을 확인하도록 Rsync를 구성 할 수 있습니까? 체크섬에 관해 들었지만 체크섬 만 샘플링한다는 사실을 알게되었습니다. 콘텐츠가 변경되고 타임 스탬프가 아닌 경우에만 파일을 전송하려고합니다. rsync 모드를 사용하여 파일을 변경하는 방법이 있습니다. 필자의 시나리오에서는 매주 sample.text 파일이 생성되고 매주 생성되는 sample.text의 내용이 변경된 경우에만 원격 서버와 동기화하려고하므로 타임 스탬프가 분명히 변경됩니다. 그러나 콘텐츠 변경시에만 이전을 원합니다.동기화 전에 rsync에서 내용을 확인할 수 있습니까?
답변
예, 설명서를 읽어야합니다.
$ man rsync | grep "\--checksum"
-c, --checksum skip based on checksum, not mod-time & size
Rsync는 매우 복잡합니다. 맨 페이지와 함께 테스트 데이터를 가지고 시험해 보는 것이 좋습니다. 원격으로 중요한 작업을하기 전에 테스트 데이터를 사용하십시오.
대부분의 경우 사람들은 rsync -ac source dest
을 사용합니다.
$ man rsync | grep "\--archive"
-a, --archive archive mode; same as -rlptgoD (no -H)
그리고 그 -rlptgoD
쓰레기는 의미 recursive
, copy symlinks as symlinks
, preserve permissions
, preserve times
, preserve group
, preserve owner
, preserve device files (super-user only)
, preserve special files
및 skip based on checksum, not mod-time & size
-c
또는 --checksum
당신이 찾고, 당신의 상상 무엇 정말 그것은 단지 mtime을 샘플링하고 크기가 잘못되었다는 것입니다.
+ 매뉴얼 페이지와 테스트 데이터로 인한 허황된 시간에 대해 _ - 매우 좋은 조언 –
rsync 맨 페이지의 --checksum
옵션을 참조하십시오.
또한 내용을 변경하면 크기가 변경된다는 것을 알고있는 경우 --size-only
옵션을 선택하는 것이 더 빠릅니다.
예 :
#!/bin/bash
echo > diff.txt
rsync -rvcn --delete /source/ /destination/ > diff.txt
second_row=$(sed -n '2p' diff.txt)
if [ "$second_row" = "" ]; then
echo there was no change
else
echo there was change
fi
이 코드가 작동해야하는 이유에 대한 설명을 추가해야합니다. 코드 자체에 주석을 추가 할 수도 있습니다. 나머지 지역 사회가 당신이 그 문제를 풀거나 대답하기 위해 무엇을했는지 이해하는 데 도움이 될만한 설명을 제공하지 마십시오. – ishmaelMakitla
변화가 없다면 rsync의 verbose 모드에서 diff.txt의 두 번째 행이 비어 있습니다. sed는이 두 번째 행을 검사합니다. – oldbowman
- 1. 설치하기 전에 특정 날짜를 확인할 수 있습니까?
- 2. window.location을 변경하기 전에 서버를 확인할 수 있습니까?
- 3. Visual Studio에서 게시하기 전에 확인할 수 있습니까?
- 4. 재부팅하기 전에 시스템을 어떻게 확인할 수 있습니까?
- 5. 누가 리눅스에서 폴더의 내용을 읽었는지 확인할 수 있습니까?
- 6. JavaScript를 사용하여 클릭 한 내용을 확인할 수 있습니까?
- 7. Rsync에서 대상 데이터 보존
- 8. 게시하기 전에 양식 DOM 변경이 완료되었는지 어떻게 확인할 수 있습니까?
- 9. Google 크롬 확장 프로그램을 설치하기 전에 코드를 확인할 수 있습니까?
- 10. 메시지를 보내기 전에 다른 장치의 연결 가능성을 확인할 수 있습니까?
- 11. 이벤트가 트리거되기 전에 DataGrid가 정렬되었거나 페이징되었는지 어떻게 확인할 수 있습니까?
- 12. 추가하기 전에 기존 "li"항목을 어떻게 확인할 수 있습니까?
- 13. "ipa"파일을 만들기 전에 응용 프로그램 크기를 확인할 수 있습니까?
- 14. 애플릿을 실행하기 전에 Java 애플릿 인증서가 신뢰되는지 확인할 수 있습니까?
- 15. Xcode : 업로드하기 전에 IPA가 유효한지 어떻게 확인할 수 있습니까?
- 16. asp.net에서 업로드하기 전에 파일 형식을 어떻게 확인할 수 있습니까?
- 17. 어떻게 확인할 수 있습니까?
- 18. rsync에서 전송 된 파일 주문
- 19. 메서드를 동기화하면 스레드가 안전한지 확인할 수 있습니까?
- 20. 동기화 전에 메모리를 업데이트 하시겠습니까?
- 21. 함수를 호출했는지 확인할 수 있습니까?
- 22. NSNotification 테이블을 확인할 수 있습니까?
- 23. 사전에서 주문을 확인할 수 있습니까?
- 24. 결과가 있는지 확인할 수 있습니까
- 25. MTurk에서 입력을 확인할 수 있습니까?
- 26. 어떻게 확인할 수 있습니까 NSDATE
- 27. nib가 이미로드되었는지 확인할 수 있습니까?
- 28. iframe이로드되었는지 어떻게 확인할 수 있습니까?
- 29. 스레드 동기화, 누구나 알고리즘을 줄 수 있습니까?
- 30. Outlook에 연결해야하는 내 응용 프로그램을 어떻게 확인할 수 있습니까?
당신이 rsync에 대한 매뉴얼 페이지를 시도? -c, --checksum rsync가 파일이 변경되어 전송이 필요한지 확인합니다. 이 옵션이 없으면 rsync는 (기본적으로) 각 파일의 크기와 수정 시간이 보낸 사람과받는 사람 사이에 일치하는지 확인하는 "빠른 검사"를 사용합니다. –