개요
wget의 `-L` 옵션은 재귀적 다운로드(`-r`)와 함께 사용될 때, 현재 도메인 내의 상대 경로 링크만을 추적하도록 지시합니다. 이는 웹사이트의 특정 하위 디렉토리나 구조를 미러링할 때 외부 링크로 인해 불필요한 데이터를 다운로드하는 것을 방지하는 데 핵심적인 역할을 합니다.
주요 특징
- 상대 링크만 추적하여 외부 도메인으로의 이동 방지
- 웹사이트의 특정 섹션 미러링에 적합
- 재귀적 다운로드(`-r`)와 함께 사용 시 강력한 기능 발휘
- 불필요한 데이터 다운로드 및 대역폭 낭비 방지
주요 옵션
`-L` 옵션은 단독으로 사용되기보다는 다른 `wget` 옵션들과 조합하여 사용될 때 그 진가를 발휘합니다.
링크 추적 및 다운로드
생성된 명령어:
명령어를 조합해 보세요.
설명:
`wget` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
`-L` 옵션을 활용한 `wget`의 다양한 사용 예시입니다.
상대 링크만 따라 재귀적으로 다운로드
wget -r -L -np http://example.com/docs/
지정된 URL에서 시작하여 상대 링크만 따라가며 웹사이트를 재귀적으로 다운로드합니다. 상위 디렉토리로 이동하지 않습니다.
다운로드 후 링크를 로컬에 맞게 변환
wget -r -L -np -k http://example.com/docs/
위 예시와 동일하게 다운로드하되, 다운로드된 HTML 파일 내의 링크를 로컬에서 작동하도록 변환합니다.
특정 디렉토리에 저장
wget -r -L -np -k -P my_docs http://example.com/docs/
다운로드된 모든 파일을 'my_docs'라는 디렉토리 아래에 저장합니다.
다운로드 깊이 제한
wget -r -L -np -l 2 http://example.com/docs/
재귀적 다운로드 시, 시작 URL로부터 2단계 깊이까지만 링크를 따라갑니다.
팁 & 주의사항
wget -L 사용 시 유용한 팁과 주의해야 할 사항들입니다.
효율적인 사용을 위한 팁
- **`--level` 옵션 활용**: `-l` 옵션으로 재귀적 다운로드의 깊이를 제한하여 불필요한 파일 다운로드를 방지하고 무한 루프를 막을 수 있습니다.
- **`--wait` 및 `--random-wait`**: 서버에 과부하를 주지 않기 위해 요청 사이에 대기 시간을 두는 것이 좋습니다. 특히 대규모 미러링 시 유용합니다.
- **`--limit-rate`**: 다운로드 속도를 제한하여 네트워크 대역폭을 효율적으로 관리할 수 있습니다.
- **`--no-clobber`**: 이미 존재하는 파일을 덮어쓰지 않도록 하여, 중단된 다운로드를 재개하거나 실수로 파일을 손상시키는 것을 방지합니다.
주의사항
- **서버 부하**: 과도한 재귀적 다운로드는 대상 서버에 부하를 줄 수 있습니다. `--wait` 옵션을 사용하여 요청 간격을 조절하는 것이 좋습니다.
- **robots.txt 준수**: 대부분의 웹사이트는 `robots.txt` 파일을 통해 크롤링 규칙을 명시합니다. `--execute robots=off` 옵션으로 무시할 수 있지만, 이는 웹사이트 정책 위반이 될 수 있으므로 신중하게 사용해야 합니다.
- **무한 루프 가능성**: 잘못된 옵션 조합은 무한 루프를 유발하여 시스템 자원을 소모할 수 있습니다. 특히 `-L`과 `-r`을 사용할 때는 `-np`나 `-l` 옵션으로 범위를 명확히 제한하는 것이 중요합니다.