Коды завершения скрипта + их описание
This commit is contained in:
@@ -6,8 +6,17 @@ Bash-скрипт мониторинга основного баланса в Se
|
|||||||
- наличие ключа API (https://my.selectel.ru/profile/apikeys) в действующем аккаунте Selectel
|
- наличие ключа API (https://my.selectel.ru/profile/apikeys) в действующем аккаунте Selectel
|
||||||
- заполненные переменные в .env
|
- заполненные переменные в .env
|
||||||
- настроенный почтовый клиент mutt
|
- настроенный почтовый клиент mutt
|
||||||
|
- установленная утилита jq
|
||||||
|
|
||||||
## Использование
|
## Использование
|
||||||
Заполнить .env и выполнять с необходимой периодичностью.
|
Заполнить .env и выполнять с необходимой периодичностью.
|
||||||
|
|
||||||
./selectel-balance.sh
|
./selectel-balance.sh
|
||||||
|
|
||||||
|
## Коды завершения
|
||||||
|
|
||||||
|
0 - успешное завершение
|
||||||
|
1 - не установлены необходимые пакеты в системе
|
||||||
|
2 - не найден файл с переменными .env
|
||||||
|
3 - не заполнена переменная
|
||||||
|
4 - не пройдена авторизация на Selectel
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ set -eu
|
|||||||
|
|
||||||
export PATH="/usr/local/bin:/usr/bin:/bin"
|
export PATH="/usr/local/bin:/usr/bin:/bin"
|
||||||
MUTT=$(which mutt)
|
MUTT=$(which mutt)
|
||||||
|
JQ=$(which jq)
|
||||||
SCRIPT=$(readlink -e $0)
|
SCRIPT=$(readlink -e $0)
|
||||||
SCRIPT_PATH="$(dirname ${SCRIPT})"
|
SCRIPT_PATH="$(dirname ${SCRIPT})"
|
||||||
echo "SCRIPT_PATH=${SCRIPT_PATH}"
|
echo "SCRIPT_PATH=${SCRIPT_PATH}"
|
||||||
@@ -10,7 +11,13 @@ cd ${SCRIPT_PATH}
|
|||||||
|
|
||||||
# Проверка наличия почтового клиента mutt
|
# Проверка наличия почтового клиента mutt
|
||||||
if [[ -z "${MUTT}" ]]; then
|
if [[ -z "${MUTT}" ]]; then
|
||||||
echo "Ошибка - почтовый клиент mutt не найден."
|
echo "Ошибка - почтовый клиент mutt не найден"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Проверка наличия утилиты jq
|
||||||
|
if [[ -z "${JQ}" ]]; then
|
||||||
|
echo "Ошибка - утилита jq не найдена"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -25,7 +32,7 @@ source .env
|
|||||||
|
|
||||||
# Проверка заполнения переменной SELECTEL_API_KEY
|
# Проверка заполнения переменной SELECTEL_API_KEY
|
||||||
if [[ -z "${SELECTEL_API_KEY}" ]]; then
|
if [[ -z "${SELECTEL_API_KEY}" ]]; then
|
||||||
echo "Ошибка - пустая пременная SELECTEL_API_KEY"
|
echo "Ошибка - пустая переменная SELECTEL_API_KEY"
|
||||||
exit 3
|
exit 3
|
||||||
#else
|
#else
|
||||||
# echo "SELECTEL_API_KEY=${SELECTEL_API_KEY}"
|
# echo "SELECTEL_API_KEY=${SELECTEL_API_KEY}"
|
||||||
@@ -33,16 +40,16 @@ fi
|
|||||||
|
|
||||||
# Проверка заполнения переменной MIN_BALANCE
|
# Проверка заполнения переменной MIN_BALANCE
|
||||||
if [[ -z "${MIN_BALANCE}" ]]; then
|
if [[ -z "${MIN_BALANCE}" ]]; then
|
||||||
echo "Ошибка - пустая пременная MIN_BALANCE"
|
echo "Ошибка - пустая переменная MIN_BALANCE"
|
||||||
exit 4
|
exit 3
|
||||||
#else
|
#else
|
||||||
# echo "MIN_BALANCE=${MIN_BALANCE}"
|
# echo "MIN_BALANCE=${MIN_BALANCE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Проверка заполнения переменной EMAIL_FOR_NOTIFICATION
|
# Проверка заполнения переменной EMAIL_FOR_NOTIFICATION
|
||||||
if [[ -z "${EMAIL_FOR_NOTIFICATION}" ]]; then
|
if [[ -z "${EMAIL_FOR_NOTIFICATION}" ]]; then
|
||||||
echo "Ошибка - пустая пременная EMAIL_FOR_NOTIFICATION"
|
echo "Ошибка - пустая переменная EMAIL_FOR_NOTIFICATION"
|
||||||
exit 5
|
exit 3
|
||||||
#else
|
#else
|
||||||
# echo "EMAIL_FOR_NOTIFICATION=${EMAIL_FOR_NOTIFICATION}"
|
# echo "EMAIL_FOR_NOTIFICATION=${EMAIL_FOR_NOTIFICATION}"
|
||||||
fi
|
fi
|
||||||
@@ -54,7 +61,7 @@ ANSWER=$(curl -s -H "X-token: ${SELECTEL_API_KEY}" -H "Content-Type: application
|
|||||||
# Проверяем прошла ли авторизация
|
# Проверяем прошла ли авторизация
|
||||||
if [[ ! -z $(echo ${ANSWER} | grep "401 Authorization Required") ]]; then
|
if [[ ! -z $(echo ${ANSWER} | grep "401 Authorization Required") ]]; then
|
||||||
echo "Ошибка - не пройдена авторизация на SELECTEL:/n${ANSWER}"
|
echo "Ошибка - не пройдена авторизация на SELECTEL:/n${ANSWER}"
|
||||||
exit 6
|
exit 4
|
||||||
else
|
else
|
||||||
BALANCE=$(echo ${ANSWER} | jq '.data.primary.main')
|
BALANCE=$(echo ${ANSWER} | jq '.data.primary.main')
|
||||||
# echo "BALANCE=${BALANCE}"
|
# echo "BALANCE=${BALANCE}"
|
||||||
@@ -63,7 +70,7 @@ fi
|
|||||||
# Проверка заполнения переменной BALANCE
|
# Проверка заполнения переменной BALANCE
|
||||||
if [[ -z "${BALANCE}" ]]; then
|
if [[ -z "${BALANCE}" ]]; then
|
||||||
echo "Ошибка - не получен BALANCE"
|
echo "Ошибка - не получен BALANCE"
|
||||||
exit 7
|
exit 3
|
||||||
#else
|
#else
|
||||||
# echo "BALANCE=${BALANCE}"
|
# echo "BALANCE=${BALANCE}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user