rsync - rsync가 실행되는 동안 동기화 목록 업데이트

rsync - rsync가 실행되는 동안 동기화 목록 업데이트

저는 약 20분마다 약 40개의 데이터 파일을 생성하는 원격 컴퓨터에서 대규모 컴퓨팅 작업을 실행하고 있습니다. 파일이 생성되자마자 원격 컴퓨터에서 로컬 컴퓨터로 파일을 가져오고 원격 컴퓨터에서 즉시 삭제하고 싶습니다.

그러나 이것은 "실시간" 으로 실행 rsync --remove-source files user@remote:~/datadir/* ./localdir되지 않습니다 rsync. 즉, 새 파일이 추가되면 datadir다시 실행해야 합니다 rsync.

제가 이해한 바에 따르면, rsync먼저 복사할 파일 목록을 만든 다음 목록을 하나씩 살펴보세요. 새 파일이 추가될 때 목록을 업데이트하는 방법이 있는지 datadir, 아니면 파일이 생성되자마자 원격 컴퓨터에서 로컬로 파일을 이동하는 다른 방법이 있는지 궁금합니다.

답변1

글쎄요, 의사에게 가서 "박사님! 이렇게 하면 아파요!"라고 말하면 의사가 "그러지 마세요! 문제가 해결되었습니다!"라고 말하는 것과 비슷합니다.

동기화디렉터리 동기화를 위한 것이지만 귀하의 설명에 따르면 그렇게 하고 싶지 않습니다. 두 디렉터리를 "동기화 해제"하려고 합니다. 파일이 한 디렉터리에 있기를 원하지만 두 디렉터리 모두에 있기를 원하지는 않습니다.

다른 시스템에서 파일을 생성하는 코드를 수정할 수 없다고 생각합니다. 왜냐하면 가능하다면 그냥 실행되도록 놔두기 때문입니다.파일 전송 프로토콜또는원격 제어 프로토콜또는곱슬또는 일부 파일은 작업이 완료되는 즉시 원본 컴퓨터에서 대상 컴퓨터로 푸시된 후 삭제됩니다.

따라서 대상 컴퓨터에서만 작업하려면 정기적인 작업을 실행하여 원격 컴퓨터에 로그인하고 그 안에 있는 모든 것을 복사하고 삭제하는 것이 좋습니다.~/데이터 디렉토리. 그것은 절약할 것이다동기화두 디렉터리를 비교하는 오버헤드: 콘텐츠에 관심이 없기 때문에 노력이 낭비됩니다../로컬 디렉토리- 항상 콘텐츠를 가져옵니다.~/데이터 디렉토리그것을 끌어당기세요. 사용원격 제어 프로토콜또는SCP가장 쉽지만 원격 시스템에 대한 유일한 액세스가동기화그런 다음 실행예약 된 일들일하다.

이로 인해 작업 주기에 따라 파일 생성과 전송 사이에 몇 분 정도 지연이 발생합니다. 왜냐하면 지적하신 바와 같이동기화실행되지 않음살다. 즉시 전송해야 하는 경우 파일 공유 서버를 실행해야 합니다.아물그러나 이는 몇 분을 절약하기 위해 많은 복잡성과 오버헤드를 수반하며 파일을 삭제하려면 여전히 자주 로그인해야 합니다. 어떤 파일 공유 유틸리티도 이 작업을 수행할 수 없습니다.

이 모든 것에는 작은 악마가 숨어있습니다상대편에 손상되지 않은 완전한 파일이 있다는 것을 어떻게 알 수 있습니까?

파일이 생성된 디렉터리에서 콘텐츠를 가져오는 경우 콘텐츠의 양에 관계없이 전체 파일의 일부가 대상 컴퓨터로 전송될 수 있습니다. 예를 들어, 복사를 시작할 수 있습니다(또는동기화또는 기타) 소스 머신의 코드가 파일을 쓰는 동안. 또는 일부 하드웨어 문제(예: 생성 중에 디스크가 가득 차는 등)로 인해 생성 프로그램이 실패할 수 있습니다.

따라서 이런 종류의 작업을 수행할 때 저는 항상 별도의 생성 및 전송 디렉토리를 갖고 있으며MV(아니요 CP) 파일이 생성부터 배송 디렉터리까지 성공적으로 생성되었습니다. 나는 또한 파일 손상에 대해 매우 편집증적이어서 항상 소스 파일에 대한 다이제스트/체크섬/매니페스트 파일을 작성하고 손상을 방지하기 위해 모든 자동 하위 수준 항목을 작성합니다.

관련 정보