У меня большой файл для анализа, хранящийся в CDN. Каждый раз, когда я запускаю свою программу, необходимо проверить, был ли файл CDN обновлен или нет. Если это так, мне нужно получить обновленную информацию, содержащуюся в этом файле CDN.
Текущее решение состоит в том, чтобы получить копию файла CDN также в хранилище и проверить, есть ли изменения с несколькими операциями:
- загрузить файл CDN локально
- проверить, отличаются ли локальные файлы и файлы CDN с ShellScript
are_different_current_and_remote()
{
diff <(curl -s "$2") "$1" > /dev/null
if [ $? != 0 ]; then
return 0
else
return 1
fi
}
- , если это так, файл CDN заменяет файл локальный
Я считаю этот процесс не очень эффективным, но мне интересно, какой из них может быть лучшим.
Я подумал о втором подходе.
- извлекает контрольную сумму удаленного файла в CDN с помощью этой команды
curl -s http://remotefile|sha1sum
и сохраняет ее в файле в хранилище, чтобы проверять ее каждый раз, чтобы увидеть, есть ли различия в обновлениях AKA.
Я тоже не большой поклонник этого решения, но считаю его улучшением из-за меньшего пространства в хранилище.
Видите ли вы еще лучшие способы сделать это? Большое спасибо.