Показать страницуСсылки сюдаНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. Скрипт проверяет по крону каждые 1 минуту хеш каталога /var/www/mikbill с исключениями динамических файлов и если сумма md5 изменилась, то отсылает сообщение в чат telegram === Создаем скрипт === <file> mkdir -p /var/mikbill/custom_scripts/md5 cd /var/mikbill/custom_scripts/md5 nano md5.sh </file> <code> #!/bin/bash server_name="demo 10.10.10.10"; TOKEN="231423444444444444335555555555555555555555" CHAT_ID="-444444444444444444" #SOCKS="--socks5-hostname 10.10.10.10:1080" HOME_DIR=$(cd $(dirname $0)&& pwd) cd /var/www/mikbill filename_stat=$HOME_DIR/hash_stat read data_stat < $filename_stat data_stat=$(echo $data_stat | head -n 1 | cut -c -20) md5_stat=$(find ./stat -not -path "*sys/mrtg_users*" -not -path "*app/log*" -type f -exec md5sum {} \; | sort -k 2 | md5sum) md5_stat=$(echo $md5_stat | head -n 1 | cut -c -20) if [ "$data_stat" != "$md5_stat" ];then MESSAGE_STAT="$server_name изменился hash каталога stat" URL="https://api.telegram.org/bot$TOKEN/sendMessage" curl $SOCKS -s -X POST $URL -d chat_id=$CHAT_ID -d text="$MESSAGE_STAT" >/dev/null echo -n $md5_stat > $filename_stat files_stat=$(find ./stat -not -path "*sys/mrtg_users*" -not -path "*app/log*" -type f -mmin -5) MESSAGE_STAT2="$server_name измененные файлы: $files_stat" URL="https://api.telegram.org/bot$TOKEN/sendMessage" curl $SOCKS -s -X POST $URL -d chat_id=$CHAT_ID -d text="$MESSAGE_STAT2" >/dev/null fi filename_admin=$HOME_DIR/hash_admin read data_admin < $filename_admin data_admin=$(echo $data_admin | head -n 1 | cut -c -20) md5_admin=$(find ./admin -not -path "*scripts/date_log.txt*" -not -path "*scripts/gpon*" -not -path "*gpon/log*" -not -path "*mbp/datas*" -not -path "*sys/mrtg*" -not -path "*scripts/log.txt*" -not -path "*admin/app/log*" -not -path "*_own_scripts*" -not -path "*store/switches*" -not -path "*sms_log.txt*" -not -path "*mikbill_update.log*" -not -path "*admin/*.xls" -type f -exec md5sum {} \; | sort -k 2 | md5sum) md5_admin=$(echo $md5_admin | head -n 1 | cut -c -20) if [ "$data_admin" != "$md5_admin" ];then MESSAGE_ADMIN="$server_name изменился hash каталога admin" URL="https://api.telegram.org/bot$TOKEN/sendMessage" curl $SOCKS -s -X POST $URL -d chat_id=$CHAT_ID -d text="$MESSAGE_ADMIN" echo -n $md5_admin > $filename_admin files_admin=$(find ./admin -not -path "*scripts/date_log.txt*" -not -path "*scripts/gpon*" -not -path "*gpon/log*" -not -path "*mbp/datas*" -not -path "*sys/mrtg*" -not -path "*scripts/log.txt*" -not -path "*admin/app/log*" -not -path "*store/switches*" -not -path "*sms_log.txt*" -not -path "*mikbill_update.log*" -not -path "*admin/*.xls" -type f -mmin -5) MESSAGE_ADMIN2="$server_name измененные файлы: $files_admin" URL="https://api.telegram.org/bot$TOKEN/sendMessage" curl $SOCKS -s -X POST $URL -d chat_id=$CHAT_ID -d text="$MESSAGE_ADMIN2" fi </code> server_name= - Заменить на свое имя и ip TOKEN - Заменить на свой токен telegram CHAT_ID - Заменить на свой chat id (Как получить токен и chat id есть много статей в интернете) === Даем права на запуск === <file> chmod +x md5.sh </file> === Настраиваем время запуска в кроне === <file>mcedit /etc/crontab</file> <code> */1 * * * * root /var/mikbill/custom_scripts/md5/md5.sh > /dev/null 2>&1 </code> billing/howto/md5_to_telegram_v2.txt Последнее изменение: 4 лет назад — gudwin