cron이 실행하는 Wget 명령은 대화형 터미널의 같은 명령과 다른 사용자 구성과 다른 환경을 읽어 들일 수 있다.

GNU Wget 1.x에서는 작업에 필요한 설정을 해당 계정이 읽을 수 있는 파일에 둔다.

use_proxy = on
http_proxy = http://proxy.example:8080
https_proxy = http://proxy.example:8080

기존 사용자 crontab은 그 파일을 명시적으로 선택할 수 있다.

15 3 * * * /usr/bin/wget --config=/home/reports/wget-proxy.conf --output-document=/home/reports/report.csv https://data.example/report.csv

작업의 실행 파일, 구성, 출력 경로, URL을 바꾼다. 절대 경로를 쓰면 대화형 셸의 작업 디렉터리와의 차이도 사라진다.

기본적으로 Wget은 전역 시작 파일을 읽은 뒤 사용자 시작 파일을 읽는다. WGETRC가 후자의 위치를 지정하며, 없으면 Wget은 $HOME/.wgetrc를 찾는다. 따라서 예약된 작업이 쓰는 HOME과 계정이 중요하다.

선택한 파일에 필요한 프록시 항목을 의도적으로 설정한다. HTTP 프록시 목록은 허용된 공용 프록시 경로에서 공개 보고서를 내려받을 후보 URL을 제공할 수 있다. root 계정의 .wgetrc가 자동으로 다른 사용자의 구성이 되는 것은 아니며, 파일 전체를 복사하면 무관한 옵션까지 복사될 수 있다.

구성이 일치하면 작업에서 나온 실제 Wget 오류를 보존한다. 거부된 프록시 연결, 407 챌린지, 대상 인증서 오류는 각각 다른 다음 단계를 요구한다.

관련 글