Коды завершения скрипта + их описание

This commit is contained in:
2021-07-14 15:04:43 +03:00
parent 01e7105d45
commit 75ae856b02
2 changed files with 24 additions and 8 deletions

View File

@@ -6,8 +6,17 @@ Bash-скрипт мониторинга основного баланса в Se
- наличие ключа API (https://my.selectel.ru/profile/apikeys) в действующем аккаунте Selectel
- заполненные переменные в .env
- настроенный почтовый клиент mutt
- установленная утилита jq
## Использование
Заполнить .env и выполнять с необходимой периодичностью.
./selectel-balance.sh
## Коды завершения
0 - успешное завершение
1 - не установлены необходимые пакеты в системе
2 - не найден файл с переменными .env
3 - не заполнена переменная
4 - не пройдена авторизация на Selectel

View File

@@ -3,6 +3,7 @@ set -eu
export PATH="/usr/local/bin:/usr/bin:/bin"
MUTT=$(which mutt)
JQ=$(which jq)
SCRIPT=$(readlink -e $0)
SCRIPT_PATH="$(dirname ${SCRIPT})"
echo "SCRIPT_PATH=${SCRIPT_PATH}"
@@ -10,7 +11,13 @@ cd ${SCRIPT_PATH}
# Проверка наличия почтового клиента mutt
if [[ -z "${MUTT}" ]]; then
echo "Ошибка - почтовый клиент mutt не найден."
echo "Ошибка - почтовый клиент mutt не найден"
exit 1
fi
# Проверка наличия утилиты jq
if [[ -z "${JQ}" ]]; then
echo "Ошибка - утилита jq не найдена"
exit 1
fi
@@ -25,7 +32,7 @@ source .env
# Проверка заполнения переменной SELECTEL_API_KEY
if [[ -z "${SELECTEL_API_KEY}" ]]; then
echo "Ошибка - пустая пременная SELECTEL_API_KEY"
echo "Ошибка - пустая переменная SELECTEL_API_KEY"
exit 3
#else
# echo "SELECTEL_API_KEY=${SELECTEL_API_KEY}"
@@ -33,16 +40,16 @@ fi
# Проверка заполнения переменной MIN_BALANCE
if [[ -z "${MIN_BALANCE}" ]]; then
echo "Ошибка - пустая пременная MIN_BALANCE"
exit 4
echo "Ошибка - пустая переменная MIN_BALANCE"
exit 3
#else
# echo "MIN_BALANCE=${MIN_BALANCE}"
fi
# Проверка заполнения переменной EMAIL_FOR_NOTIFICATION
if [[ -z "${EMAIL_FOR_NOTIFICATION}" ]]; then
echo "Ошибка - пустая пременная EMAIL_FOR_NOTIFICATION"
exit 5
echo "Ошибка - пустая переменная EMAIL_FOR_NOTIFICATION"
exit 3
#else
# echo "EMAIL_FOR_NOTIFICATION=${EMAIL_FOR_NOTIFICATION}"
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
echo "Ошибка - не пройдена авторизация на SELECTEL:/n${ANSWER}"
exit 6
exit 4
else
BALANCE=$(echo ${ANSWER} | jq '.data.primary.main')
# echo "BALANCE=${BALANCE}"
@@ -63,7 +70,7 @@ fi
# Проверка заполнения переменной BALANCE
if [[ -z "${BALANCE}" ]]; then
echo "Ошибка - не получен BALANCE"
exit 7
exit 3
#else
# echo "BALANCE=${BALANCE}"
fi