Отформатируйте URL-адрес с системной датой в bash

#bash #shell #curl #cron

Вопрос:

Я бы запустил сценарий .sh для выполнения операции с сервера только в том случае, если указан указанный URL-адрес. URL-адрес, по которому я ежедневно получаю обновления данных (но я точно не знаю, в какое время они обновляются).

Задание cron будет запускать этот сценарий каждые пять минут, и как только появится обновленный URL-адрес, он запустит Rscript. Я не знаю, завиток или баш достаточно, чтобы обновить дату в соответствии с системой.

Я подумал о том, чтобы написать код в BASH, который выглядел бы так :

  if curl -s --head  --request GET https://example.com-2021-05-10 | grep "200 OK" > /dev/null; then 
   Rscript ~/mybot.R
else
   echo "the page is not up yet"
 fi
 

Ответ №1:

Просто используйте date команду.

  if curl -s --head  --request GET https://example.com-$(date ' %Y-%M-%d') | grep "200 OK" > /dev/null; then 
   Rscript ~/mybot.R
else
   echo "the page is not up yet"
 fi