명령을 실행하기 전에 파일 동기화가 완료되었는지 어떻게 확인할 수 있나요?

명령을 실행하기 전에 파일 동기화가 완료되었는지 어떻게 확인할 수 있나요?

Resilio Sync를 사용하여 콘텐츠 폴더를 다른 컴퓨터와 주기적으로 동기화하는 컴퓨터가 있습니다. 수신 컴퓨터에는 폴더와 해당 내용을 분석한 후 별도의 파일 시스템으로 이동하고 목록화하는 시간별 cron에 대한 정렬 프로세스가 있습니다.

내 문제는 동기화가 불완전한 경우 시간별 cron이 실행되어 전체 내용이 없는 폴더를 처리한다는 것입니다. 시간별 cron 프로세스에서는 콘텐츠를 올바르게 처리하기 위해 폴더의 전체 콘텐츠가 필요합니다.

수신 동기화 폴더의 내용이 열려 있지 않은지 확인하는 쉬운 방법이 있습니까? lsof를 살펴봤지만 더 쉬운 방법이 있을까요?

도움이 된다면 Resilio 동기화 프로세스에서 rsync로 전환했습니다.

답변1

이를 수행하는 방법은 여러 가지가 있을 것으로 생각됩니다. 첫 번째 사람은 체크섬이 포함되어 있는지 묻는 나에게 왔습니다. 보내는 서버에서 다음을 실행할 수 있습니다.

tar -cf - FILES | md5sum > my_sum.md5

( )를 사용하여 ( ) 에 파일 ( )을 tar생성합니다. 이 파일 은 , 디렉터리 또는 공간 제한 파일 목록 일 수 있으며 , 해당 목록으로 파이프 하고 해시를 my_sum.md5에 저장합니다.cfstdin-FILESglobmd5sum

수신측에서는 cron먼저 my_sum.md5를 찾으려고 시도하는 작업에 검사를 추가할 수 있습니다. (없으면 모든 것을 복사하지 않은 것입니다.) 존재하는 경우 유사한 체크섬이 생성되었는지 확인합니다. 수신 측에 일치하는 체크섬이 있습니다.

관련 정보