Как опросить URL ресурса для изменений файла - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть файл, расположенный по URL, скажем https://www.example.com/file.csv

Мне необходимо загружать файл каждый раз, когда он обновляется (или хотя бы один раз / 24 часа), и выполнять определенные действия с ним.файл с помощью сценариев.

Однако у меня нет какой-либо службы уведомлений / webhook, чтобы сообщать мне всякий раз, когда файл повторно загружается на сервер (я даже говорил о поддержке, и я не могу получить то, чтоМне нужно).

Как я могу опросить ссылку на предмет изменений? Чтобы каждый раз, когда файл обновлялся, мои скрипты запускали загрузку и продолжали выполнять задачи?

Я думал, что curl может помочь мне, но я полностью потерян, и некоторые поиски в Google не дали мне результаты, которые мне нужны.

1 Ответ

0 голосов
/ 23 февраля 2019

curl может помочь!

Самый простой способ сделать это с помощью curl - просто вызывать его автоматически, как каждые 12 часов или около того (предпочтительно с использованием crontab или аналогичного).Затем попросите curl получить файл , только если удаленный файл новее локального :

curl -O -z file.csv https://www.example.com/file.csv

И если вы сделаете это в crontab, вы, возможно, добавитестрока, аналогичная:

0 0,12 * * * cd download-dir && curl -O -z file.csv https://www.example.com/file.csv

..., которая заставляет curl обновлять файл соответственно в выделенном каталоге загрузки, каждые 12 часов - если файл на сервере новее, чем на диске.

Как это работает?

Как объясняет документация для curl -z :

Выражение даты (переданное в -z) может быть любымстроки даты или, если он не совпадает ни с какими внутренними, он берется как имя файла и вместо этого пытается получить дату изменения (mtime) из файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...