LINUX.ORG.RU
ФорумAdmin

Скрипт для проверки актуальности программных лицензий 1С

 , ,


1

1

Ну сейчас скажут что не нужно, но все равно выложу, к тому же я в предыдущей теме просил помощи, поэтому сейчас делюсь результатом.

#!/bin/bash

CHATID='-320000008'
BOTID='bot14800000775:AAH1y14esdbbkjrtykrs_NyXiEw3DzB6H0vSJM'
LicNUM=''
RING="/opt/1C/1CE/components/1c-enterprise-ring-0.19.5+12-x86_64/ring"
ServerName="Server_name"

LicLIST=$($RING license list | awk -e '{print $1}')

for var in $LicLIST
do
    if $RING license validate --name "$var" --send-statistics false | grep -qw " выполнена успешно."
    then
        if [[ $1 = 'test' ]]
        then
            MESSAGE="OK | ring license validate | $ServerName"
            /usr/bin/curl -s -X POST -H 'Content-Type: application/json' -d '{"chat_id": "'"$CHATID"'", "text": "'"$MESSAGE"'", "disable_notification": false}' https://api.telegram.org/$BOTID/sendMessage
        fi
    else
        MESSAGE="FAIL | ring license validate | $ServerName"
        /usr/bin/curl -s -X POST -H 'Content-Type: application/json' -d '{"chat_id": "'"$CHATID"'", "text": "'"$MESSAGE"'", "disable_notification": false}' https://api.telegram.org/$BOTID/sendMessage
    fi
done

И сценарий запуска:

*/10 * * * * /path/license_validator.sh
0 8 * * * /path/license_validator.sh test

Для работы требуется установленная утилита ring из пакета license_tools

bot14800000775:AAH1y14esdbbkjrtykrs_NyXiEw3DzB6H0vSJM

Ты уверен что нам в открытом доступе нужен твой токен бота, которого ты наверняка уже закинул в чатик клиентам и теперь они видят «пенис Вадика доминирует над вами» в строке оповещений? :-)

rukez ★★ ()
Последнее исправление: rukez (всего исправлений: 1)
Ответ на: комментарий от rukez

он не настоящий, я просто его оставил в таком виде, чтобы новичок мог представить как он выглядит. Я когда разбирался с ботом, долго не мог понять что да как…

Shulman ()
Последнее исправление: Shulman (всего исправлений: 1)
Ответ на: комментарий от Shulman

RING

Там небось у вас не только ring, так что лучше, если переменная будет что-то вроде PATH_1C_UTILS

PARAMS

Не, лучше сделать функцию license_validate, понимающую дополнительные аргументы --name «$var» --send-statistics false

vodz ★★★★★ ()