Герб Украины
Верим в Украину и ВСУ. Слава Украине!

Скрипт для мониторинга работы сайтов с уведомлением на почту

В динамическом мире Интернета мониторинг работы веб-сайтов является важной задачей для бизнеса и веб-разработчиков. Это позволяет оперативно выявлять проблемы, такие как недоступность сайта и принимать необходимые меры для их решения. В этой статье мы рассмотрим создание простого скрипта мониторинга работы сайтов с использованием 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"
);


В этом массиве вы можете указать любое количество веб-сайтов, которые вы хотите отслеживать.

Читайте також:  Разработка интернет-проектов DiGrand

Настройка отправки электронной почты:

$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()

Читайте також:  ТОП-11 профессий будущего

Автоматический запуск проверки через задачи CRON:

  1. Инструкция по добавлению скрипта мониторинга в крон-задачи на хостинге с использованием панели управления CPanel:
  2. Войдите в свой аккаунт CPanel и найдите раздел «Расписания CRON» или «Cron Jobs».
  3. В разделе «Расписания CRON» найдите опцию «Добавить новое расписание CRON» или «Add New Cron Job» и нажмите на нее.
  4. Откроется страница добавления новой крон-задачи. В поле «Command» или «Команда» введите команду для вызова вашего скрипта PHP с указанием полного пути к файлу скрипта.
  5. Замените «/ home / username / public_html / myscript.php» на путь к вашему файлу скрипта мониторинга.
  6. Выберите частоту выполнения крон-задачи в поле «Common Settings» или «Общие настройки».
  7. Нажмите на кнопку «Добавить расписание CRON» или «Add Cron Job», чтобы сохранить настройки.

Важно убедиться, что установленный путь к исполняемому файлу PHP (/usr/bin/php в приведенном выше примере) верный для вашего хостинга. Если вы не уверены, какой путь к php, обратитесь в поддержку вашего хостинг-провайдера для получения дополнительной информации.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *