#Скрипт, который сравнивает кол-во файлов в локальном каталоге и на AWS s3 #!/bin/bash # telegramm env BOT_TOKEN="5447300000:AAGEjU7HKE0000000000000" CHAT_ID="3310200000" compare_func (){ # Получаем количество файлов в локальном каталоге local_count=$(ssh -i /root/.ssh/monitoring root@$ip find "$local_dir" -type f | wc -l) # Получаем количество файлов в S3-бакете s3_count=$(aws s3 ls "$s3_bucket" --recursive | wc -l) # Вычисляем разницу difference=$((local_count - s3_count)) # Находим модуль difference=$((difference < 0 ? -difference : difference)) # Выводим сообщение о статусе if [ $difference -gt 3 ]; then echo "ПРОБЛЕМА MTIR $local_dir !!!Разница в количестве файлов: $difference" echo local_contm=$local_count echo s3_count=$s3_count MESSAGE="ПРОБЛЕМА MTIR AWS sync $local_dir !!!Разница в количестве файлов: $difference" curl -s -X POST "https://api.telegram.org/bot$BOT_TOKEN/sendMessage" -d "chat_id=$CHAT_ID&text=$MESSAGE" > /dev/null else echo "Каталог $local_dir - ОК. Разница в количестве файлов: $difference" echo local_contm=$local_count echo s3_count=$s3_count fi } # Part 1 sur local_dir="/mnt/var_sur/sur/" s3_bucket="s3://mt20.ky/sur/" ip=192.168.18.110 compare_func # part 2 common local_dir="/mnt/var/common/" s3_bucket="s3://mt20.ky/common/" ip=192.168.18.110 compare_func # part 3 Personal local_dir="/mnt/var/personal/" s3_bucket="s3://mt20.ky/personal/" ip=192.168.18.110 compare_func exit 0