Прежде чем я начну писать свое собственное приложение для этого, возможно, уже есть лучшее решение проблемы:
Мне нужно каждый день проверять HTTP-сервер для загрузки и обработки новых файлов. В основном это zip-файлы, которые необходимо извлечь.
Старые файлы удаляются однажды, а новые загружаются несколько раз в день. Я не хочу обрабатывать файл дважды.
Мое текущее решение - сохранить все файлы локально и использовать wget
с опциями -nc
, которые вызываются cronjob два раза в день:
wget -nc -t 10 -o wget.log -r -l 1 --no-parent --reject "index.html*" http://myserver/
Теперь я могу проанализировать файл журнала, получить все новые загруженные файлы и обработать их:
grep saved wget.log | awk '{ print $6}' # generate a list of downloaded files
Но я буду накапливать на диске кучу файлов, которые мне не нужны. Итак, мне нужна база данных для хранения уже загруженных файлов и проверки для каждого файла, если он уже был обработан?