Использование переменной даты с помощью wget -post-data

Для проекта я хочу использовать wget в cron для загрузки файла данных. В инструкции wget начало и конец должны быть определены в следующем формате:

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

Поскольку я хочу, чтобы это выполнялось заданием cron, я хотел бы, чтобы start- и enddate устанавливались автоматически. Более конкретно, мне бы хотелось, чтобы startdate был установлен на «1 час назад» и enddate на «now».

Аналогичный вопрос возник в сообщении. Использование даты -1day с помощью wget . Здесь предлагаемое решение заключалось в том, чтобы поместить переменные между одинарными кавычками, но это не сработало. Например:

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

Я просто получил ошибку «Ошибка 400: Плохой запрос» при попытке выполнить wget-statement в терминале.

Спасибо.

One Solution collect form web for “Использование переменной даты с помощью wget -post-data”

В рамках задания cron % является особенным и должен быть экранирован. Кроме того, лучше избегать синтаксиса backquote. Я бы предложил следующее:

 wget --post-data="start=$(date ... +\%Y\%m\%d\%H)&end=$(date ... +\%Y\%m\%d\%H)&..." 
  • Wget: конвертировать ссылки и избежать повторной загрузки уже загруженных файлов?
  • Загрузите сайт HTTPS только через имя пользователя и пароль с помощью wget?
  • Сохраните команду ../../../ в команде wget
  • Сценарий Bash, создающий нежелательные файлы
  • bash scripting - wget или curl-файл с действием на основе состояния 200 или нет
  • Загрузите, добавив после некоторого процентного завершения
  • Файлы труб, загруженные с помощью wget в функцию
  • Загрузите и установите последний пакет deb из github через терминал
  • Не удается загрузить завиток
  • Как установить пакет wget на сервер aix 7.1 без локального хранилища?
  • Рекурсивный wget в конечном итоге начинает работать с ошибкой «Невозможно разрешить хост» / «Временный сбой при разрешении имен»
  • Linux и Unix - лучшая ОС в мире.