서버는 많은 양의 데이터를 생성하며 이 데이터를 가능한 한 지속적으로 다운로드하고 싶습니다. 가장 간단한 아이디어는 다음과 같습니다.
watch rsync ...
내가 이해한 바로는 매 2초마다 watch
호출됩니다 .rsync
따라서 핵심 질문은 rsync
2초 내에 종료하지 않으면 어떻게 됩니까? 입니다. rsync
어쨌든, 2초마다 새로운 것을 시작할 것인가, 아니면 이전 것이 rsync
끝날 때까지 기다릴 것인가?
답변1
다음과 같은 명령을 실행하여 이를 확인할 수 있습니다.
watch "date >> watch.log; echo Sleeping; sleep 10"
기본 2초 간격이 사용됩니다. 잠시 동안 실행시키면 watch.log
12초마다 날짜와 시간이 기록되는 것을 볼 수 있습니다. 따라서 watch
해당 명령을 실행하십시오.완료될 때까지 기다리세요, 명령을 다시 실행하기 전에 구성된 간격 동안 기다리십시오.
답변2
테스트를 만나보세요
watch updatedb
다른 세션을 시작하기 전에 프로그램이 완료될 때까지 기다립니다.
watch를 사용하여 rsync를 실행하는 것이 적합한지 잘 모르겠습니다. 정기적인 실행을 실행하려면 cron을 사용하세요.
rsync를 더 자주 실행하려면 무한 루프(true에서는 이렇게 함)가 포함된 스크립트를 작성하고 pgrep을 사용하여 rsync 실행을 감지하세요. 감지되면 정의된 시간 동안 기다렸다가 다른 주기 반복에서 테스트하십시오.