Скрипт оболочки в CRON, который вызывает URL и сохраняет файл

Вручную я ввожу URL-адрес в браузере, который вызывает страницу с функцией GET, которая напрямую запрашивает у меня сохранение файла. Я хотел бы автоматизировать с помощью задания cron над сценарием следующие действия:

  • Вызов URL
  • Сохранение файла в определенной папке

Любой человек может помочь написать скрипт? Я могу в частном порядке предоставить URL, чтобы проверить поведение.

0
задан 16 June 2018 в 19:59

1 ответ

Один способ загрузить URL, не имея необходимость использовать пользовательский интерфейс (текст или GUI) состоит в том, чтобы использовать wget со всеми необходимыми параметрами (как Вы желаете) как задание крона.

О wget

Пример для единственного URL (с выходным именем, объединенным с меткой времени, для обогащения ответа, могло быть статическое имя):

 wget URL -O "/home/uname/dirn/`date +%y%m%d-%H%M%S`-n.htm" -b
 wget URL -O "/home/uname/dirn/`date +\%y\%m\%d-\%H\%M\%S`-n.htm" -b #in crontab

примечание: в кроне необходимо использовать "\%" (как во второй строке выше) вместо просто "%" (как в первой строке выше), потому что крон интерпретирует "процент" - символ.

где: -O "/home..../date...-theRestOfTheName" разбивается на:

  • полный путь (крону можно было настроить его собственный путь, таким образом, с практической точки зрения, это часто благоприятно, чтобы иметь Ваш путь интереса, указанного в каждой команде),

  • непрерывное выполнение date с выводом, настроенным как человекочитаемое своего рода, устанавливают метку времени

  • остальная часть имени конечного файла

-b просит, чтобы wget действительно работали в фоновом режиме с вхождением в системный журнал.

Можно дополнительно использовать список URL из файла (-i filename). Вы могли также играть вокруг с wget и его страницей справочника (man wget) - это относительно коротко и может дать Вам много идей.

О кроне

Примечание, крон assusmes Ваша машина идет в любом случае: крон не догоняет задания в течение времени, машина была выключена. Редактирование крона как текущий пользователь

crontab -e

Добавьте строку конфигурации, которая указывает частоту выполнения команды (простая инструкция отображена как комментарий в самых верхних строках crontab редактор, считайте его). Для выполнения каждые 5 минут в воскресенье Вы записали бы:

# m  h  dom mon dow   command
*/5  *   *   *   0    wget google.com -O "/home/uname/dirn/`date +\%y\%m\%d-\%H\%M\%S`-ind3.htm" -b
5
ответ дан 16 June 2018 в 19:59

Другие вопросы по тегам:

Похожие вопросы: