Как написать работу cron с помощью wget - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь написать задание cron, которое получает информацию с веб-сервера с помощью wget.

Если говорить более конкретно, я получаю данные из Национального центра спасательных данных (NDBC) от Национальных администраций по океану и атмосфере (NOAA).Эти данные бесплатны для общественности.

Следующая команда успешно создает файл .txt в моем каталоге:

wget https://www.ndbc.noaa.gov/data/realtime2/46237.spec

Теперь я пытаюсь автоматизировать эту команду каждые 30 минут, записывая задание cron.Я использовал vim для написания следующего кода:

0,30 * * * * wget https://www.ndbc.noaa.gov/data/realtime2/46237.spec

Я также подтвердил, что это задание cron существует, запустив "crontab -l"

Кто-нибудь знает, почему это не выполняется должным образом?

PS Я новичок в программировании, пожалуйста, поправьте меня, если я неправильно использую любую терминологию.Спасибо

1 Ответ

0 голосов
/ 21 декабря 2018

Причин может быть много, но в качестве общего подхода будет полезно использовать абсолютные пути и принудительно перенаправить вывод wget в конкретный файл.Также хорошо игнорировать проверку сертификации при доступе по https.И ваш cron станет что-то вроде:

0,30 * * * * /usr/bin/wget -O /tmp/my_result.file --no-check-certificate https://www.ndbc.noaa.gov/data/realtime2/46237.spec

Над всеми путями и именами файлов приведены примеры!

Но лучше всего создать сценарий оболочки (например, в вашем домашнем каталоге) изапустить через cron этот скрипт

...