Add email + fix

This commit is contained in:
2021-07-14 14:42:23 +03:00
parent d0b5db352f
commit 01e7105d45
2 changed files with 33 additions and 9 deletions

View File

@@ -1,10 +1,23 @@
#!/bin/bash
set -eu
export PATH="/usr/local/bin:/usr/bin:/bin"
MUTT=$(which mutt)
SCRIPT=$(readlink -e $0)
SCRIPT_PATH="$(dirname ${SCRIPT})"
echo "SCRIPT_PATH=${SCRIPT_PATH}"
cd ${SCRIPT_PATH}
# Проверка наличия почтового клиента mutt
if [[ -z "${MUTT}" ]]; then
echo "Ошибка - почтовый клиент mutt не найден."
exit 1
fi
# Проверка наличия файла с переменными .env
if [[ ! -f ".env" ]]; then
echo "Ошибка - отсутствует файл с переменными .env"
exit 1
exit 2
fi
# Входные переменные берём из .env
@@ -12,28 +25,36 @@ source .env
# Проверка заполнения переменной SELECTEL_API_KEY
if [[ -z "${SELECTEL_API_KEY}" ]]; then
echo "Ошибка - пустой SELECTEL_API_KEY (${SELECTEL_API_KEY})"
exit 2
echo "Ошибка - пустая пременная SELECTEL_API_KEY"
exit 3
#else
# echo "SELECTEL_API_KEY=${SELECTEL_API_KEY}"
fi
# Проверка заполнения переменной MIN_BALANCE
if [[ -z "${MIN_BALANCE}" ]]; then
echo "Ошибка - пустой MIN_BALANCE (${MIN_BALANCE})"
exit 3
echo "Ошибка - пустая пременная MIN_BALANCE"
exit 4
#else
# echo "MIN_BALANCE=${MIN_BALANCE}"
fi
# Проверка заполнения переменной EMAIL_FOR_NOTIFICATION
if [[ -z "${EMAIL_FOR_NOTIFICATION}" ]]; then
echo "Ошибка - пустая пременная EMAIL_FOR_NOTIFICATION"
exit 5
#else
# echo "EMAIL_FOR_NOTIFICATION=${EMAIL_FOR_NOTIFICATION}"
fi
# Получаем баланс
ANSWER=$(curl -s -H "X-token: ${SELECTEL_API_KEY}" -H "Content-Type: application/json" https://my.selectel.ru/api/v3/billing/balance)
#echo "ANSWER=${ANSWER}"
# Проверяем прошла ли авторизация
if [[ ! -z $(echo ${ANSWER} | grep "401 Authorization Required") ]]; then
echo "Ошибка - не пройдена авторизация на SELECTEL (${ANSWER})"
exit 4
echo "Ошибка - не пройдена авторизация на SELECTEL:/n${ANSWER}"
exit 6
else
BALANCE=$(echo ${ANSWER} | jq '.data.primary.main')
# echo "BALANCE=${BALANCE}"
@@ -41,8 +62,8 @@ fi
# Проверка заполнения переменной BALANCE
if [[ -z "${BALANCE}" ]]; then
echo "Ошибка - не получен BALANCE (${BALANCE})"
exit 4
echo "Ошибка - не получен BALANCE"
exit 7
#else
# echo "BALANCE=${BALANCE}"
fi
@@ -54,6 +75,8 @@ MIN_BALANCE_RUB=$(echo ${MIN_BALANCE} | rev); MIN_BALANCE_RUB=${MIN_BALANCE_RUB:
# Сравниваем BALANCE с MIN_BALANCE
if [[ "${BALANCE}" -le "${MIN_BALANCE}" ]]; then
echo "Баланс на Selectel нужно пополнить (${BALANCE_RUB} руб. < ${MIN_BALANCE_RUB} руб.)"
# Отправляем уведомление на e-mail
echo "Баланс на Selectel нужно пополнить (${BALANCE_RUB} руб. < ${MIN_BALANCE_RUB} руб.)" | mutt -s "Баланс на Selectel нужно пополнить (< ${MIN_BALANCE_RUB} руб.)" $EMAIL_FOR_NOTIFICATION
else
echo "Баланс на Selectel достаточен (${BALANCE_RUB} руб. > ${MIN_BALANCE_RUB} руб.)"
fi