billing:howto:md5_to_telegram

Скрипт проверяет по крону каждые 5 минут хеш каталога /var/www/mikbill с исключениями динамических файлов и если сумма md5 изменилась, то отсылает сообщение в чат telegram

Создаем скрипт

mkdir -p /var/mikbill/custom_scripts/md5
cd /var/mikbill/custom_scripts/md5
nano md5.sh
#!/bin/bash
server_name="demo 10.10.10.10";
TOKEN="231423444444444444335555555555555555555555"
CHAT_ID="-444444444444444444"
#DATE=`date +%Y-%m-%d_%Hh%Mm`
#log="/var/log/mikbill.log"
HOME_DIR=$(cd $(dirname $0)&& pwd)
filename=$HOME_DIR/hash
read data < $filename
data=$(echo $data | head -n 1 | cut -c -20)
md5=$(find /var/www/mikbill ! -path "/var/www/mikbill/admin/app/log*" ! -path "/var/www/mikbill/admin/sys/mrtg*" ! -path "/var/www/mikbill/stat/sys/mrtg_users*" ! -path "/var/www/mikbill/stat/app/log*" ! -path "/var/www/mikbill/map/app/log*" -type f -exec md5sum {} \; | sort -k 2 | md5sum)
md5=$(echo $md5 | head -n 1 | cut -c -20)
if [ "$data" != "$md5" ];then
MESSAGE="$server_name изменился хеш каталога mikbill"
URL="https://api.telegram.org/bot$TOKEN/sendMessage"
curl -s -X POST $URL -d chat_id=$CHAT_ID -d text="$MESSAGE" >/dev/null
#echo $MESSAGE >> $log
echo -n $md5 > $filename
fi

server_name= - Заменить на свое имя и ip

TOKEN - Заменить на свой токен telegram

CHAT_ID - Заменить на свой chat id

(Как получить токен и chat id есть много статей в интернете)

Даем права на запуск

chmod +x md5.sh

Настраиваем время запуска в кроне

mcedit /etc/crontab
*/5 * * * * root /var/mikbill/custom_scripts/md5/md5.sh > /dev/null 2>&1
  • billing/howto/md5_to_telegram.txt
  • Последнее изменение: 6 лет назад
  • vilko