Небольшой скриптик
#!/bin/bash
#Список ip адресов для проверки
ips="192.168.10.1 192.168.10.2 192.168.10.3 192.168.10.4"
#Путь к файлу для сохранения последних результатов
log_file="/var/log/fping.log"
#API token и ID чата для отправки сообщений в телеграмм
telegram_token="telegram_token"
chat_id="chat_id"
#Функция для отправки сообщения в телеграмм
send_message() {
curl -s -X POST "https://api.telegram.org/bot${telegram_token}/sendMessage" -d сhat_id=${chat_id} -d text="$1" > /dev/null
}
#Проверка доступности ip адресов
for ip in $ips;
do fping -c1 -u ${ip} >& /dev/null
result=$?
#Получаем последний результат из файла
last_result=$(grep ${ip} ${log_file} | tail -n1 | cut -d ' ' -f 2)
if [ ${result} -eq 0 ]; then
if [ "${last_result}" != "reachable" ]; then
echo "${ip} reachable" >> ${log_file}
send_message "✅ IP адрес ${ip} доступен"
fi
else
if [ "${last_result}" != "unreachable" ]; then
echo "${ip} unreachable">> ${log_file}
send_message "❌ IP адрес ${ip} недостуен."
fi
fi
done
Запускать по крону. Скрипт пишет в лог последнее состояние, потом проверяет. Если есть изменение - шлем в телеграмм оповещение. Если изменений нет - то ничего не делаем.