В динамическом мире Интернета мониторинг работы веб-сайтов является важной задачей для бизнеса и веб-разработчиков. Это позволяет оперативно выявлять проблемы, такие как недоступность сайта и принимать необходимые меры для их решения. В этой статье мы рассмотрим создание простого скрипта мониторинга работы сайтов с использованием PHP.
Наш скрипт мониторинга будет проверять доступность заданных сайтов и отправлять уведомление электронной почтой в случае недоступности. Давайте рассмотрим код.
// Список сайтов для мониторинга $websites = array( "https://airmasterskaya.com", "https://lider-transfer.kiev.ua", "https://medservice.in.ua", ); // Настройки отправки электронной почты $to = '[email protected]'; $subject = 'Непрацює сайт'; $headers = 'From: [email protected]'; // Проверка доступности сайтов $unavailable_websites = array(); foreach ($websites as $website) { $context = stream_context_create(array( "ssl" => array( "verify_peer" => false, "verify_peer_name" => false ) )); $response = @file_get_contents($website, false, $context); if ($response === false) { $unavailable_websites[] = $website; } } // Отправка уведомления о недоступности сайтов if (count($unavailable_websites) > 0) { // Формирование текста сообщения $message = "Непрацює сайт ці сайти:\n\n"; foreach ($unavailable_websites as $website) { $message .= $website . "\n"; } // Отправка письма if (mail($to, $subject, $message, $headers)) { echo "Лист надіслано"; } else { echo "Не вдалося надіслати електронний лист"; } } else { echo "Всі сайти доступні"; }
Создание списка сайтов для мониторинга:
$websites = array( "https://airmasterskaya.com", "https://lider-transfer.kiev.ua", "https://medservice.in.ua" );
В этом массиве вы можете указать любое количество веб-сайтов, которые вы хотите отслеживать.
Настройка отправки электронной почты:
$to = '[email protected]'; $subject = 'Непрацює сайт'; $headers = 'From: [email protected]';
Проверка доступности сайтов:
$unavailable_websites = array(); foreach ($websites as $website) { $context = stream_context_create(array( "ssl" => array( "verify_peer" => false, "verify_peer_name" => false ) )); $response = @file_get_contents($website, false, $context); if ($response === false) { $unavailable_websites[] = $website; } }
Этот код проверяет доступность каждого сайта из списка. Если сайт недоступен, его URL добавляется в массив $unavailable_websites.
Отправка уведомления о недоступности сайтов:
if (count($unavailable_websites) > 0) { $message = "Непрацює сайт ці сайти:\n\n"; foreach ($unavailable_websites as $website) { $message .= $website . "\n"; } if (mail($to, $subject, $message, $headers)) { echo "Лист надіслано"; } else { echo "Не вдалося надіслати електронний лист"; } } else { echo "Всі сайти доступні"; }
Если найдены недоступные сайты, скрипт формирует уведомление с их списком и отправляет его с помощью функции mail(). Если письмо удалось отправить, выводится сообщение «Лист надіслано». В противном случае выводится сообщение «Не вдалося надіслати електронний лист». Если недоступных сайтов не найдено, выводится сообщение «Всі сайти доступні».
Таким образом, вы можете использовать этот скрипт для мониторинга работы веб-сайтов и получать уведомления, если любой из них становится недоступным. Не забудьте установить соответствующие настройки электронной почты на своем сервере, чтобы обеспечить правильную работу функции mail()
Автоматический запуск проверки через задачи CRON:
- Инструкция по добавлению скрипта мониторинга в крон-задачи на хостинге с использованием панели управления CPanel:
- Войдите в свой аккаунт CPanel и найдите раздел «Расписания CRON» или «Cron Jobs».
- В разделе «Расписания CRON» найдите опцию «Добавить новое расписание CRON» или «Add New Cron Job» и нажмите на нее.
- Откроется страница добавления новой крон-задачи. В поле «Command» или «Команда» введите команду для вызова вашего скрипта PHP с указанием полного пути к файлу скрипта.
- Замените «/ home / username / public_html / myscript.php» на путь к вашему файлу скрипта мониторинга.
- Выберите частоту выполнения крон-задачи в поле «Common Settings» или «Общие настройки».
- Нажмите на кнопку «Добавить расписание CRON» или «Add Cron Job», чтобы сохранить настройки.
Важно убедиться, что установленный путь к исполняемому файлу PHP (/usr/bin/php в приведенном выше примере) верный для вашего хостинга. Если вы не уверены, какой путь к php, обратитесь в поддержку вашего хостинг-провайдера для получения дополнительной информации.
Добавить комментарий