wget --post-data와 함께 날짜 변수 사용

wget --post-data와 함께 날짜 변수 사용

내가 사용하고 싶은 프로젝트에 대해얻다안에예약 된 일들데이터 파일을 다운로드하세요. wget 문에서 시작 날짜와 종료 날짜는 다음 형식으로 정의되어야 합니다.

wget --post-data="stns=235&vars=TEMP&start=YYYYMMDDHH&end=YYYYMMDDHH"

cron 작업을 통해 수행되기를 원하므로 시작 날짜와 종료 날짜가 자동으로 설정되기를 원합니다. 좀 더 구체적으로 말하면, 시작 날짜를 "1시간 전"으로 설정하고 종료 날짜를 "지금"으로 설정하고 싶습니다.

게시물에 비슷한 질문이 있습니다wget과 함께 date-1day 사용. 여기에 제안된 해결책은 작은따옴표 사이에 변수를 넣는 것입니다. 그러나 이 방법은 작동하지 않습니다. 예를 들어:

"[...]start='`date -d yesterday +%Y%m%d%H'&end=`date +%Y%m%d%H`"

터미널에서 wget 문을 실행하려고 하면 "오류 400: 잘못된 요청" 오류가 발생합니다.

감사해요.

답변1

크론 작업에서는 %특별하므로 이스케이프해야 합니다. 또한 백틱 구문을 사용하지 않는 것이 가장 좋습니다. 나는 다음을 제안합니다:

wget --post-data="start=$(date ... +\%Y\%m\%d\%H)&end=$(date ... +\%Y\%m\%d\%H)&..."

관련 정보