Проверяем сервера на доступность по Bash

Вот пример скрипта bash, который проверяет указанные серверы с помощью массива и показывает статус выполнения с помощью диалоговой команды и записывает результаты в файл с именем «check.log» с текущей датой и временем:
#!/bin/bash

# Определяем массив серверов, можно добавлять свои
servers=("server1" "server2" "server3")

# Определяем файл журнала
log_file="check.log"

# Пройдемся по массиву и проверим состояние каждого сервера
for server in "${servers[@]}"
do
    # Пропингуем сервер, чтобы проверить, доступен ли он
    ping -c 1 "$server" > /dev/null 2>&1

    # Получим текущую дату и время
    current_date=$(date '+%Y-%m-%d %H:%M:%S')

    # Проверим статус завершения команды ping
    if [ $? -eq 0 ]; then
        # Сервер доступен
        status="Сервер $server доступен"
        error_code=0
    else
        # Сервер недоступен
        status="Сервер $server упал"
        error_code=1
    fi

    # Запишем результат с указанием текущей даты и времени
    echo "$current_date - $status - Код ошибки: $error_code" >> $log_file

    # Показываем статус выполнения и код ошибки с помощью диалогового окна
    dialog --infobox "$status - Код ошибки: $error_code" 0 0
    sleep 2
done
В этом скрипте используется переменная «log_file» для указания имени файла журнала. Мы также используем переменную «current_date» для хранения текущей даты и времени, которые мы получаем с помощью команды «date».

После проверки состояния каждого сервера мы записываем результат с текущей датой и временем и кодом ошибки в файл журнала, используя команду «echo» и оператор ">>", который добавляет выходные данные в конец файла.

Также в скрипт включено выполнение команды «dialog» для включения кода ошибки в сообщение о состоянии. При удачном выполнении команд код всегда будет 0.

Вы можете запустить этот скрипт следующим образом.
chmod +x check.sh
./check.sh
Скрипт проверит состояние каждого сервера, отобразит статус выполнения и код ошибки с помощью диалогового окна и запишет результаты в файл «check.log» с указанием текущей даты и времени.
Поделиться:

Похожие публикации

Тут ничего нет

Нет комментариев