Проверяем сервера на доступность по Bash
Вот пример скрипта bash, который проверяет указанные серверы с помощью массива и показывает статус выполнения с помощью диалоговой команды и записывает результаты в файл с именем «check.log» с текущей датой и временем:
После проверки состояния каждого сервера мы записываем результат с текущей датой и временем и кодом ошибки в файл журнала, используя команду «echo» и оператор ">>", который добавляет выходные данные в конец файла.
Также в скрипт включено выполнение команды «dialog» для включения кода ошибки в сообщение о состоянии. При удачном выполнении команд код всегда будет 0.
Вы можете запустить этот скрипт следующим образом.
#!/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» с указанием текущей даты и времени.
Похожие публикации
Нет комментариев