Когда работаешь с большим пулом сайтов, довольно геморно каждый раз бегать в cloudflare чтобы очистить кеш после какого либо обновления. Панелька клоуда частенько подтормаживает и даже бывает недоступна. Сбросить кеш в cloudflare по api достаточно просто.
Вот скриптик, который это делает:
#!/bin/bash
DOMAIN=example.com
echo "Начинаю сброс кеша на clodflare для $DOMAIN"
response=$(curl -s --request GET \
--url https://api.cloudflare.com/client/v4/zones?name=$DOMAIN \
--header 'Content-Type: application/json' \
--header 'X-Auth-Email: YOU_EMAIL' \
--header 'X-Auth-Key: YOU_API_KEY')
# Проверка на ошибку выполнения curl
if [ $? -ne 0 ]; then
echo "Ошибка выполнения curl запроса к api"
exit 1
fi
# Извлечение первого значения "id" из строки JSON с помощью grep
id=$(echo "$response" | grep -oP '(?<="id":")[^"]+' | head -n 1)
# Проверка на наличие значения "id"
if [ -z "$id" ]; then
echo "Не удалось извлечь значение id для $DOMAIN"
exit 1
fi
curl --request POST \
--url https://api.cloudflare.com/client/v4/zones/$id/purge_cache \
--header 'Content-Type: application/json' \
--header 'X-Auth-Email: YOU_EMAIL' \
--header 'X-Auth-Key: YOU_API_KEY' \
--data "{\"purge_everything\":true}"
exit 0
Это очистит весь кеш для домена в clouflare. Ну а дальше дело за автоматизацией, либо же просто ловить домен в аргументе к скрипту.