TGViewer
Библиотека задач по DevOps | тесты, код, задания Библиотека задач по DevOps | тесты, код, задания @devops_problems_lib · 3.02K subscribers
Post #711 814
Необходимо проходить по списку URL'ов и проверять их доступность. Условия:
Список URL'ов находится в файле /urls.txt;
Доступный URL - значит код ответа не 5XX или 4XX;
Проверка должна быть оформлена в виде функции bash, которая должна вызываться внутри скрипта;
Функция должна принимать в качестве входного параметра путь к файлу с URL'ами;
При любом ответе недоступности от сервиса - прерывать дальнейшую проверку. Временное ограничение 20 мин.

Скрипт проверки. Запускать ./script.sh <путь до файла с URLs>

#!/usr/bin/env bash

set -xueo pipefail

FILE_URLS=${1:-}
if [[ -z "${FILE_URLS}" ]]; then
echo "File with URLs list do not defined."
exit 1
fi

function checkUrls() {
local URLS=$1
for URL in $(cat
$URLS); do
STATUS=
curl -LI "${URL}" -o /dev/null -w '%{http_code}' -s
if [[ "${STATUS}" == "500" ]] || [[ "${STATUS}" == "400" ]]; then
echo "URL ${URL} unavailable!"
exit 1
else
echo "URL ${URL} available."
fi
done
}

checkUrls "${FILE_URLS}"


Библиотека задач по DevOps
More from @devops_problems_lib
  1. Sep 15, 2026Что делает команда kubectl describe? 👾 — Предоставляет подробную информацию о ресурсе Kub…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Aug 4, 2026Несколько инженеров иногда одновременно запускают terraform apply, рискуя повредить state.…
  4. Aug 4, 2026👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах…
  5. Aug 4, 2026Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механик…
  6. Jul 31, 2026В продакшн-кластере вы заметили, что некоторые контейнеры занимают значительно больше мест…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →