Страница 2 из 6
Re: Скрипт оповещения в телеграмм
Добавлено: 21 май 2020, 18:48
Virtue
podarok66 писал(а): ↑21 май 2020, 18:15
Обычное условие не прокатит?
а действительно, может и прокатит, что-то я не ищу легких путей
попробую - отпишусь
Re: Скрипт оповещения в телеграмм
Добавлено: 22 май 2020, 17:44
Virtue
drpioneer писал(а): ↑21 май 2020, 18:24
Есть такой вариант, правда он медленный:
ваш вариант подходит только для одного исключаемого значения, всетаки думаю придется использовать "~"
вообще очень странно получается, составил вот такой код:
Код: Выделить всё
{
:local startBuf [/log find message~"2045461"]
:local removeThese [/log find message~"10440303368"]
:foreach i in=$startBuf do={
if ($i != $removeThese) do={
:put "$i != $removeThese"
} else={:put "$i = $removeThese"}
}
}
у меня это из одной и тойже строки лога, так что должно быть равно, но мне выдает:
*2F != *2F
а вот так все нормально:
Код: Выделить всё
{
:local startBuf [/log find message~"2045461"]
:local removeThese [/log find message~"10440303368"]
if ($startBuf != $removeThese) do={
:put "$startBuf != $removeThese"
} else={:put "$startBuf = $removeThese"}
}
*2F = *2F
я кажется понял в чем дело
drpioneer писал(а): ↑21 май 2020, 18:24
Есть такой вариант
попробовал сделать по вашему
Код: Выделить всё
{
:foreach index in=[ /log find message~"2045461" ] do={
if ($index != [ /log find message~"10440303368" ]) do={
:put ($index."!=".[ /log find message~"10440303368" ]);
} else={:put ($index."=".[ /log find message~"10440303368" ])}
}
}
выдал
*2F!=*2F
походу ваш вариант - вообще не вариант, даже для одного значения, тут дело я так понял в том, что нельзя сравнивать переменную счетчика цикла с обычной переменной или выводом команды, выше я расписал, как сравнив 2 обычных переменных всё получилось..
Re: Скрипт оповещения в телеграмм
Добавлено: 23 май 2020, 02:24
hulitolku
podarok66 писал(а): ↑14 мар 2020, 18:45
r67wru писал(а): ↑14 мар 2020, 18:23
Жалко в России уже не работает...
Телеграмм? Да ладно! От болталок школьников до каналов государственных предприятий всё работает. Видимо у вас какая-то другая Россия. Может вы из будущего?
Сама телега работает через соксы, а api напрямую.
R2B2 писал(а): ↑10 авг 2019, 12:47
Доброе!
Подскажите, а есть какой-нибудь способ заставить ходить fetch через прокси ? как сurl, например...
спасибо
Я сделал так:
Поднял на компьютере из сети ssh сервер и с помощью скрипта, с микротика произвожу запуск api telegraм через проксю с помщью курлы.
Re: Скрипт оповещения в телеграмм
Добавлено: 23 май 2020, 15:03
Virtue
hulitolku писал(а): ↑23 май 2020, 02:24
Я сделал так:
Поднял на компьютере из сети ssh сервер и с помощью скрипта, с микротика произвожу запуск api telegraм через проксю с помщью курлы.
а по подробнее слабо?
что за сервер, что за скрипт
Re: Скрипт оповещения в телеграмм
Добавлено: 23 май 2020, 15:15
hulitolku
Virtue писал(а): ↑23 май 2020, 15:03
а по подробнее слабо?
что за сервер, что за скрипт
На компе устанавливаю OpenSSH сервер, много разных перепробывал, мне лично понравился bitvisessh.
/Далее настраиваю авторизацию по публичным ключам.
Закидываю ключи на микротик и импортирую:
Код: Выделить всё
/user ssh-keys private import private-key-file=id_dsa public-key-file=id_dsa.pub user=admin
Проверяю что с микротика выполняется заход на комп по ssh без пароля.
На компе создаю скрипт (tele.cmd кладу его в папку scripts) запуска curl через проксю:
Код: Выделить всё
curl --socks5-hostname айпипрокси:порт "https://api.telegram.org/bot000000000:AAFQpXv5SK5gY3gMLPSYS8XHX1Ux7FvB3G8/sendmessage?chat_id=22222222&text=Привет мир"
exit
На микроте делаю скрипт:
Код: Выделить всё
/system ssh-exec address=ipлокальногокомпа user=admin command="c:/scripts/tele.cmd"
Ну а дальше этот скрипт уже вставляется в условия других скриптов.
Re: Скрипт оповещения в телеграмм
Добавлено: 24 май 2020, 14:36
podarok66
hulitolku писал(а): ↑23 май 2020, 15:15
На микроте делаю скрипт:
Код: Выделить всё
/system ssh-exec address=ipлокальногокомпа user=admin command="c:/scripts/tele.cmd"
Ну а дальше этот скрипт уже вставляется в условия других скриптов.
А вот это для меня новость! Видимо совсем я не слежу за обстановкой! Оказывается так можно было. Интересно, и давно это?
Тут срочно накорябал проверочную строку
Код: Выделить всё
[podarok66@RB750Gr3] > :put ([/system ssh-exec address=192.168.100.10 user=podarok66 command="/log info message=\"Vsem hana!\"" as-value]->"exit-code")
Ответ
Но! При неправильном варианте команды в поле
command (например лишняя скобка незакрытая)
Код: Выделить всё
:put ([/system ssh-exec address=192.168.100.10 user=podarok66 command="[/log info message=\"Vsem hana!\"" as-value]->"exit-code")
через раз получаю то 0, то 1. Надо бы мне с этим разобраться.
Тут есть варианты для домашних железок, которые мне подойдут. Лишь бы проверку исполнения наладить нормально.
Re: Скрипт оповещения в телеграмм
Добавлено: 24 май 2020, 15:26
hulitolku
Интересно, и давно это?
Да я сам второй день только начал изучать скриптинг.
ssh-exec command= очень капризен к двойным кавычкам
Я решил это таким образом:
Код: Выделить всё
:global curl
set curl "curl --socks5-hostname айпипрокси:порт"
:global api
set api "\"https://api.telegram.org/bot000000000:AAFQpffgvhggffghhgYgfhgLPSYS8XHX1Ux7FvB3G8/sendmessage?chat_id=00000000&text="
/system ssh-exec address=192.168.1.2 user=admin command="$curl $api%20%0AПривет%20мир"
\" - кавычки в кавычках
%20 - пробел
%0A - энтер
Re: Скрипт оповещения в телеграмм
Добавлено: 24 май 2020, 16:24
podarok66
Код: Выделить всё
set api "\"https://api.telegram.org/bot000000000:AAFQpffgvhggffghhgYgfhgLPSYS8XHX1Ux7FvB3G8/sendmessage?chat_id=00000000&text="
Эту строку не понял. Три двойных кавычки. Они всегда парные должны быть... Если есть одна " экранированная, должна быть такая же вторая.
Re: Скрипт оповещения в телеграмм
Добавлено: 25 май 2020, 15:56
hulitolku
podarok66 писал(а): ↑24 май 2020, 16:24
Три двойных кавычки. Они всегда парные должны быть... Если есть одна " экранированная, должна быть такая же вторая.
Верно. В переменную переносится одна и в случае с curl работает как с одной, так и с парными.
Лучше наверное сделать парными.
Re: Скрипт оповещения в телеграмм
Добавлено: 26 май 2020, 21:35
podarok66
Я всегда стараюсь использовать полные формулировки в скриптах. Так как кодер из меня никакой, мне через какое-то время даже сложно вспомнить, что там и откуда. Поэтому весь анализ в редакторе глазками. И там непарная кавычка может ввести в заблуждение.