Skip to content

Instantly share code, notes, and snippets.

@radimih
Created April 5, 2023 03:12
Show Gist options
  • Save radimih/b6df63a89922f8a5f858278081ae96c5 to your computer and use it in GitHub Desktop.
Save radimih/b6df63a89922f8a5f858278081ae96c5 to your computer and use it in GitHub Desktop.
Метрика isdayoff
#!/bin/bash
# ====================================================================
# Вернуть значение метрики "isdayoff"
# ---
#
# Скрипт возвращает:
# '0' - если сегодня рабочий день
# '1' - если сегодня выходной день
# '' - если за сегодня пока не удалось получить статус дня
#
# Используется web-сервис isdayoff.ru
#
# Скрипт можно запускать сколько угодно раз. Статус текущих суток
# кэшируется во временном файле и лишнего обращения к сервису
# не происходит.
#
# Если с начала новых суток не удается получить его статус, то
# скрипт возвращает пустую строку и Zabbix переводит соответствующую
# метрику в 'Not supported' до тех пор, пока не получит нормальное
# значение метрики. Поэтому желательно настроить получение значения
# метрики несколько раз в сутки.
#
# ====================================================================
FILE_LAST_DATE=/var/tmp/isdayoff.date
FILE_LAST_VALUE=/var/tmp/isdayoff.value
TODAY=$(date +%Y%m%d)
touch $FILE_LAST_DATE
if [ "$TODAY" != "$(cat $FILE_LAST_DATE)" ]
then
curl --silent --fail https://isdayoff.ru/$(date +%Y%m%d) > $FILE_LAST_VALUE && echo $TODAY > $FILE_LAST_DATE
fi
cat $FILE_LAST_VALUE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment