Для начала создайте бота в Telegram с помощью @BotFather, от него и буду приходить уведомления с сервера.
С помощью бота @MyTelegramID_bot узнаем свой ID аккаунта.
Заходим на наш сервер и создаем файл .py. Открываем его любым текстовым редактором и вносим туда этот код:
#!/usr/bin/python3
from urllib.parse import urlparse, urlencode
from urllib.request import urlopen
import argparse, sys
token = 'TOKEN_BOT'
id = 'ID_USER'
host = sys.argv[1]
parser = argparse.ArgumentParser()
parser.add_argument('-m', default=host, dest='MESSAGE')
namespace = parser.parse_args()
message = namespace.MESSAGE
turl = 'https://api.telegram.org/bot'
tfull = '{0}{1}/sendMessage'.format(turl, token)
tparams = urlencode({'chat_id': id, 'text': message}).encode('utf-8')
urlopen(tfull, tparams)
Или тоже самое можно написать bash-скриптом:
#!/bin/bash ID_USER=475831490 TOKEN_BOT=534993854:AAFK4lkRNp5-MyvHH8l-EbpoNKD7_EsDdvI message=$1 curl -s -X POST "https://api.telegram.org/bot"$TOKEN_BOT"/sendMessage" -F chat_id=$ID_USER -F text="$message"
Где,
TOKEN_BOT — токен созданного Вами бота.
ID_USER — ID Вашего аккаунта. Он необходим для того, чтобы уведомление бот присылал только Вашему аккаунту. Другие, кто добавит бота, получать уведомление не будут.
Для начала сделайте скрипт исполняемым командой:
chmod +x file_name.py
И проверим, работает ли. Отправим команду, чтобы бот отписал нам простое сообщение «Hello, world!»:
python3 file_name.py -m "Hello, world!"
Обратите внимание, что обязательно нужно указывать опцию -m, а сообщение должно быть в скобках («»).
Как можно использовать?
Допустим, Вы запустили на сервере команду, которая выполняется достаточно длинное время. Можно использовать скрипт для уведомления о завершении команды. Например:
какая_то_длинная_команда | python3 file_name.py -m "Выполнение завершено"
Или, чтобы не писать каждый раз полный запуск команды скрипта, создадим алиас с названием send:
alias send='python3 ~/file_name.py'
Где, ~/file_name.py — полный пусть к скрипту.
Теперь уведомление о завершении можно будет прописать так:
какая_то_длинная_команда | send -m "Выполнение завершено"
Можно так же использовать скрипт для отправки логов. К примеру напишем скрипт для вывода логов авторизации, apache и fail2ban:
#!/bin/bash logs=$(echo -e "\n Auth" ; tail -n 10 /var/log/auth.log ; echo -e "\n Fail2ban" ; tail -n 10 /var/log/fail2ban.log ; echo -e "\n Apache" ; tail -n 10 /var/log/apache2/error.log) python3 ~/file_name.py -m "$logs"
И добавим запись в cron, чтобы скрипт выполнялся (например) каждые 30 минут:
crontab-e */30 * * * * /log_sent_telegram.sh
После чего Вам бот будет присылать каждые 30 минут эти логи.
Так же, можно использовать такой же метод для проверки доступности какого-то сайта методом пинг. Скрипт выглядит так:
#!/bin/bash IP='lexblog.org' ping -c 1 $IP 2>/dev/null 1>/dev/null if [ "$?" = 0 ] then echo "good" else python3 ~/tgsend.py -m "example.tdl [not available]" fi
И добавляете в cron с интервалом выполнения 5 минут:
*/5 * * * * ~/ping_check.sh
[url=https://school-of-languages.ru/]английский для дошкольников[/url]
[url=https://school-of-languages.ru/]https://school-of-languages.ru/[/url]
[url=https://anolink.com/?link=http://school-of-languages.ru]http://google.mw/url?q=http://school-of-languages.ru[/url]
[url=https://school-of-languages.ru/]английский для малышей с нуля[/url]
[url=https://school-of-languages.ru]http://school-of-languages.ru[/url]
[url=http://google.com.lb/url?q=http://school-of-languages.ru]http://www.brambraakman.com/?URL=school-of-languages.ru[/url]
[url=http://www.english-yes.ru]английский лагерь санкт петербург[/url]
[url=http://english-yes.ru/]http://english-yes.ru/[/url]
[url=http://google.je/url?q=http://english-yes.ru]https://www.google.kg/url?q=http://english-yes.ru[/url]
[url=http://www.english-yes.ru]английский разговорный клуб для детей[/url]
[url=http://english-yes.ru/]http://english-yes.ru/[/url]
[url=http://showhorsegallery.com/?URL=english-yes.ru]http://www.phpooey.com/?URL=english-yes.ru[/url]
[url=https://english-yes.ru]английский язык для ребенка 5 лет[/url]
[url=http://english-yes.ru/]http://english-yes.ru/[/url]
[url=https://www.google.tk/url?q=http://english-yes.ru]http://www.google.lu/url?q=http://english-yes.ru[/url]
[url=http://www.indigo-school.ru]английский для детей 3 года онлайн[/url]
[url=https://indigo-school.ru]https://indigo-school.ru[/url]
[url=https://ssylki.info/?who=indigo-school.ru]http://www.google.ci/url?q=http://indigo-school.ru[/url]
[url=https://www.indigo-school.ru]уроки немецкого для детей онлайн[/url]
[url=https://indigo-school.ru]https://indigo-school.ru[/url]
[url=https://jannisgundermann.com/?URL=indigo-school.ru]https://www.google.rw/url?q=http://indigo-school.ru[/url]
[url=http://xn--b1aajaj5aaqsiv3g.xn--p1ai/]аренда пухто спб цена[/url]
[url=http://xn--b1aajaj5aaqsiv3g.xn--p1ai]http://xn--b1aajaj5aaqsiv3g.xn--p1ai[/url]
[url=http://google.com.ni/url?q=http://xn--b1aajaj5aaqsiv3g.xn--p1ai/]http://sc.hkex.com.hk/TuniS/http://xn--b1aajaj5aaqsiv3g.xn--p1ai/[/url]
[url=http://xn--b1aajaj5aaqsiv3g.xn--p1ai/]выброс крупногабаритного мусора[/url]
[url=http://xn--b1aajaj5aaqsiv3g.xn--p1ai/]http://xn--b1aajaj5aaqsiv3g.xn--p1ai[/url]
[url=http://google.com.tn/url?q=http://xn--b1aajaj5aaqsiv3g.xn--p1ai/]https://cse.google.ie/url?q=http://xn--b1aajaj5aaqsiv3g.xn--p1ai/[/url]
[url=http://xn--b1aajaj5aaqsiv3g.xn--p1ai/]вывеземмусор[/url]
[url=http://xn--b1aajaj5aaqsiv3g.xn--p1ai/]http://xn--b1aajaj5aaqsiv3g.xn--p1ai[/url]
[url=https://google.co.ve/url?q=http://xn--b1aajaj5aaqsiv3g.xn--p1ai/]http://www.jschell.de/link.php?url=http://xn--b1aajaj5aaqsiv3g.xn--p1ai/[/url]
[url=http://www.vds33.ru]пиломатериалы спб цены[/url]
[url=http://vds33.ru/]http://vds33.ru/[/url]
[url=https://google.cg/url?q=http://vds33.ru]http://google.com.ni/url?q=http://vds33.ru[/url]
[url=http://vds33.ru]пиломатериалы спб с доставкой[/url]
[url=http://vds33.ru/]http://vds33.ru/[/url]
[url=http://maps.google.tt/url?q=https://vds33.ru]http://www.drugs.ie/?URL=vds33.ru[/url]
[url=http://center-tec.ru/index6.html]повышение квалификации по пожарной безопасности 2022 цена[/url]
[url=http://www.center-tec.ru/index6.html]http://center-tec.ru/index6.html[/url]
[url=http://google.tt/url?q=http://center-tec.ru/index6.html]https://google.de/url?q=http://center-tec.ru/index6.html[/url]
[url=http://center-tec.ru/index6.html]повышение квалификации в области пожарной безопасности[/url]
[url=http://center-tec.ru/index6.html]http://www.center-tec.ru/index6.html[/url]
[url=https://www.google.bg/url?q=http://center-tec.ru/index6.html]http://google.co.mz/url?q=http://center-tec.ru/index6.html[/url]
[url=https://regionles35.ru]заказать доски с доставкой[/url]
[url=http://regionles35.ru]http://regionles35.ru[/url]
[url=http://www.onesky.ca/?URL=regionles35.ru]https://www.youtube.com/redirect?q=regionles35.ru[/url]
[url=http://regionles35.ru]брус стоимость[/url]
[url=http://regionles35.ru]http://regionles35.ru[/url]
[url=http://big5.qikan.com/gate/big5/regionles35.ru]https://www.google.bi/url?q=http://regionles35.ru[/url]