계속해서 웹 서버를 모니터링하고 새로 추가된 파일을 다운로드하세요.

계속해서 웹 서버를 모니터링하고 새로 추가된 파일을 다운로드하세요.

웹 서버(HTTP)를 지속적으로 모니터링하고 min을 사용하여 새로 추가된 파일을 다운로드하는 가장 좋은 방법은 무엇입니까? 지연(1분 미만 지연이 바람직함)?

답변1

감시 장치

먼저 모니터링을 위해 다음을 사용하는 것이 좋습니다.나기오스, 핵심 소스 코드는 무료이지만 GUI가 필요하면 비용을 지불해야 하지만 그만큼 많은 돈을 쓸 가치가 있습니다.

당신은 또한 사용할 수 있습니다이싱가,PRTG, 또는 당신에게 더 적합한 무엇이든.

yumCollectd(컬렉션 데몬)는 RHEL 파생 제품 또는 apt-getDebian 기반 파생 제품을 다운로드하여 사용할 수 있는 무료 모니터링 도구이기도 합니다 . 당신은 읽을 수있다이 종이Collectd를 사용하려는 경우.

작업은 x < 1분마다 실행됩니다.

질문의 두 번째 부분에서는 x가 정기적으로 1분 미만일 때마다 작업을 실행하십시오. 아래 설명된 몇 가지 트릭을 사용할 수 있으므로 Cronjob을 사용할 수 없다는 것을 알고 계실 것입니다.자일스 이 질문에는당신이 원하는 것을하십시오.

필요에 맞는 스크립트를 갖고 영원히 실행하거나 필요한 경우 시작 시에도 실행하는 것이 더 좋습니다. 다음과 같은 간단한 구문을 사용할 수 있습니다.

while true; do yourJob; sleep someTime; done

또는 원한다면 좀 더 복잡한 스크립트를 사용할 수도 있습니다.

watch명령을 사용할 수도 있습니다 . 예를 들어:

watch -n1  command

command그것은 매 순간 그리고 영원히 당신을 달릴 것입니다 .

watch짐작할 수 있듯이 복잡한 스크립트 대신 간단한 스크립트를 x회(1분 미만)마다 실행해야 하는 경우 쉘 스크립트를 실행할 수도 있습니다.

이것은 당신의 선택입니다.

답변2

이는 여러 요인에 따라 달라집니다.

웹 서버를 제어할 수 있는 경우 가장 쉬운 방법은 마지막 확인 또는 다운로드 이후 변경된 파일 수를 제공하는 (RESTful?) 서비스를 설치하는 것입니다. 이렇게 하면 클라이언트와 서버의 데이터 전송 및 로드가 최소화됩니다. 이는 특히 파일 시스템에 의존하지 않고 업로드 스크립트를 통해 서버의 파일 업로드/수정을 직접 추적할 수 있는 경우에 해당됩니다.

후자라면 famd.

서버를 제어하지 않는 경우 다운로드하기 전에 서버를 수정해야 합니다. 가장 간단한 것은 일부를 사용하는 것입니다.네트워크 미러w3mir와 같은 유틸리티는 이미 ETag 및 Last-Modified/If-Modified-Since 헤더 확인/제공을 담당하고 있습니다. 이는 더 적은 호출을 수행해야 하므로 유틸리티를 더 자주 실행할 수 있음을 의미합니다.

에 관해서는어떻게이 유틸리티를 실행하는 방법은 실행 위치에 따라 다릅니다. Unix 시스템에서 cron 작업을 사용하거나 루프에서 실행할 수 있습니다.

그러나 전자를 선택하는 경우 이전 인스턴스가 종료되기 전에 미러 프로세스가 시작되지 않도록 일종의 세마포어를 설치하는 것이 좋습니다. 잠금 파일을 생성하는 것만큼 간단할 수 있습니다.

if [ -r /tmp/mirror.lock ]; then
    echo "lock file found" | logger -t webmirror
    exit 0
fi
touch /tmp/mirror.lock
...whatever...
rm /tmp/mirror.lock

그러나 스크립트를 종료할 수 있는 신호도 수신해야 합니다 catch. 그렇지 않으면 일시적인 오류가 발생한 경우 잠금 파일이 그대로 남아 있어 오류가 해결된 후에도 다른 모든 인스턴스가 실행되지 않을 수 있습니다.

또는 잠금 파일이 합리적인 숫자보다 오래되지 않았는지 확인하고 그렇다면 삭제할 수 있습니다. 또는 발견된 스크립트 인스턴스 수 ps(일반적으로 현재 인스턴스, 더 많으면 현재 인스턴스가 중단하는 것이 가장 좋음)를 확인하고 수행할 수 있습니다. 잠금 파일을 전혀 사용하지 마십시오.

답변3

cron 작업에서 간단한 명령을 실행할 수 있지만 curl웹 모니터링 기능이 있는 모니터링 솔루션을 사용하는 것이 좋습니다. 그 중 다수는 무료입니다. Google의 "오픈 소스 네트워크 모니터링 솔루션"만 있으면 많은 것을 얻을 수 있습니다!

답변4

FarazX가 말했듯이 Nagios와 같은 여러 모니터링 솔루션이 있습니다.판도라 FMS, ...그러나 이러한 도구는 귀하의 목적에 비해 너무 클 수 있습니다. 아마도가동시간 로봇그것으로 충분합니다.

권장 사항을 검토하고 가장 적합한 것을 선택하세요. 단, 더 많은 옵션이 포함된 모니터링 솔루션이 귀하의 환경에 더 많은 가능성을 제공한다는 점을 기억하세요.

관련 정보