NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
KO

Linux 명령 및 셸 기술

wget: 잠들지 않는 다운로더

wget은 시간 단위로 측정되는 작업(미러, 아카이브, 재귀 가져오기 및 아무도 보지 않는 동안 실행되는 크론 배치)에 대한 컬입니다. 이는 반복적으로 robots.txt를 준수하고, 기본적으로 중단된 전송을 재개하며, 속도 제한 및 대기 간격에 따라 속도를 조절합니다. 이는 호출자에게 공손함을 남기는 것입니다. 두 도구 사이의 구분은 깔끔합니다. 대량 및 인내심을 위한 wget, 정밀성을 위한 컬, 두 도구를 모두 알고 있는 팀에는 세 번째 설치 프로그램이 거의 필요하지 않습니다.

핵심 내용

  • 미러링은 한 줄로 이루어집니다. wget --mirror --convert-links --adjust-extension --no-parent https://docs.example.com; --no-parent를 생략하면 문서 아카이브가 조용히 그 위의 모든 것을 크롤링하게 됩니다.
  • 무료로 재개 및 재시도: wget -c는 중단된 전송 백업을 선택하고 --tries=10 --waitretry=5는 첫 번째 트위치에서 작업이 실패하는 대신 중간에 딸꾹질이 발생하는 서버를 제거합니다.
  • Politeness에는 --limit-rate=200k, --wait=1 및 --random-wait 플래그가 있어 미러가 업스트림 속도 제한이나 공유 서버 남용 조항을 벗어나지 않도록 합니다. 공유 호스팅과 조절되지 않는 크롤러는 짧은 우정입니다.
  • robots.txt는 기본적으로 존중됩니다. -e robots=off는 이를 의도적으로 재정의하고 다른 사람의 프로덕션 사이트에 대해 해당 재정의를 사용하는 방식으로 대량 다운로드가 사고 티켓으로 전환됩니다.
  • wget -O /dev/null -nv https://host/health는 종료 코드가 진단을 전달하는 한 줄 모니터링 프로브입니다. 4는 네트워크 오류, 8은 서버 오류, 둘 다 자동 cron을 능가합니다.
  • 변환은 사실 이후에 중요합니다. --convert-links는 오프라인 탐색을 위해 미러링된 사이트를 다시 작성하고, --adjust-extension은 로컬 도구가 제공할 수 있는 확장 아래에 CMS 생성 페이지를 저장합니다.
  • cron의 대량 작업은 잠금 파일을 얻거나 중복 실행은 서로의 반쯤 완료된 파일에 기록하는 반면 --waitretry는 해당 창을 지나 작업을 조용히 늘립니다. wget에는 내부 뮤텍스가 없습니다.
  • 경계를 파악하십시오. 양식, 쿠키가 많은 세션 및 API 끝점은 컬에 속하며 wget은 스크립트가 아닌 링크를 따르기 때문에 JavaScript로 작성된 페이지는 빈 셸로 미러링됩니다.

현장 노트

--no-parent가 없는 미러 중 하나가 밤새 40기가바이트의 클라이언트 미디어 라이브러리를 탐색하여 디스크를 거의 가득 채웠습니다. 공손함 플래그는 한 번 설정되고 그 이후에는 영원히 복사됩니다.

자주 묻는 질문

내 거울에는 왜 한 페이지만 포함되어 있나요?

범위 플래그는 누군가가 실행 취소하려고 했던 작업(robots.txt 제한, --no-parent, 깊이 제한 또는 JavaScript로 렌더링되는 사이트)을 수행했습니다. wget은 볼 수 있는 링크를 따릅니다. 도구를 비난하기 전에 -o wget.log를 확인하십시오.

단일 다운로드에 대해 언제 컬 대신 wget을 선택해야 합니까?

재개 가능하거나 cron이 신뢰할 수 있는 항목의 경우: -c 연속, 내장된 재시도 및 타임스탬핑(--timestamping)을 사용하면 wget이 낮은 주의 범위를 선택할 수 있습니다. 컬은 직접 조립하는 경우에만 동일한 기능을 제공합니다.

공개 사이트를 미러링하는 것이 합법적이거나 예의바른가요?

소유권은 합법성을 결정하고 robots.txt는 로드를 정중하게 결정합니다. 로봇 파일을 존중하고 인간 수준의 속도로 조절하며 대상이 제공하는 순간 공식 내보내기 또는 API를 선호합니다.

일부 사이트에서 403을 일반 wget으로 반환하는 이유는 무엇입니까?

일반적으로 의도적인 사용자 에이전트 필터링. --user-agent='Mozilla/5.0'을 사용하면 통과할 수 있지만 필터링된 403은 운영자가 지켜보고 있다는 의미이기도 하므로 다음 단계에서는 대화 상자나 API가 더 좋습니다.

linux 명령 및 셸 기술에 대한 Kinetikatech의 지원

솔직히 말하면, 대부분의 팀은 직접 해보신 후에야 저희를 찾습니다: 관리자가 서버를 운영할지 아니면 싸울지 결정하는 명령 및 스크립팅 습관: 모든 기본 설치에 포함된 도구를 사용하여 텍스트와 프로세스를 검색, 변환, 전송 및 감독합니다. 당사의 Linux 서버 보안 및 서버 관리 서비스는 linux 명령 및 셸 기술을 힘들게 배울 필요가 없도록 존재합니다. 설정, 모니터링, 그리고 새벽 3시의 놀라움을 모두 처리해 드립니다.

엔지니어와 상담하기

서버 문제? 해킹된 웹사이트? 느린 페이지?

심각한 장애에 30분 이내 대응 — 24시간, 주 7일.

긴급 지원 요청 support@kinetikatech.com