Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Мониторинг логов с помощью скрипта bash.  (Прочитано 3121 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Онлайн Plastikman

  • Автор темы
  • Участник
  • *
  • Сообщений: 222
    • Просмотр профиля
Имеется программа, которая ежечасно создаёт новый лог-файл с расширением .miss. Если файл пустой (т.е. 0 байт), значит всё работает в штатном режиме. Если же логи наполняются данными, то здесь уже бьём тревогу. Нештатная ситуация, когда последние 6 логов оказываюся с ошибками (т.е. более 0 байт), в этом случае скрипт пишет цифру 1 в контрольный файл. В случае штатный работы пишется 0. Скрипт нули и единицы пишет, но в какой-то своей логике. Спасибо за помощь.

#!/bin/bash

missfile=$(  stat -c %s /var/log/*.miss | tail -n6 )
maxsize=0c

if [[ $missfile > $maxsize ]]; then
       echo "1" > /opt/miss_error
else
       echo "0" > /opt/miss_error
fi


Оффлайн Ser_W

  • Активист
  • *
  • Сообщений: 385
    • Просмотр профиля
Re: Мониторинг логов с помощью скрипта bash.
« Ответ #1 : 15 Сентября 2022, 22:04:17 »
Спасибо за какую помощь?

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Мониторинг логов с помощью скрипта bash.
« Ответ #2 : 15 Сентября 2022, 23:24:59 »
Скрипт нули и единицы пишет, но в какой-то своей логике.
Сравниваете мультистроковую переменную даже не с числом. Вот как это:

Что больше?
0
0
300
0
0
100
или


Пользователь добавил сообщение 15 Сентября 2022, 23:41:45:
#!/bin/bash

while read F ; do
  if [ -s "$F" ] ; then
     echo "1" > /opt/miss_error
                   else
     echo "0" > /opt/miss_error
  fi
done < <(/bin/ls -1t /var/log/*.miss | head -6)
« Последнее редактирование: 15 Сентября 2022, 23:41:45 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Онлайн Plastikman

  • Автор темы
  • Участник
  • *
  • Сообщений: 222
    • Просмотр профиля
Re: Мониторинг логов с помощью скрипта bash.
« Ответ #3 : 16 Сентября 2022, 17:02:07 »
ALiEN175, Пишет единицу уже при 3 файлах, которые больше 0.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Мониторинг логов с помощью скрипта bash.
« Ответ #4 : 17 Сентября 2022, 01:26:51 »
#!/bin/bash
i=0
while read F ; do
  [ -s "$F" ] && i=$((i + 1))
  if ((i == 6)) ; then
     echo "1" > /opt/miss_error
                  else
     echo "0" > /opt/miss_error
  fi
done < <(/bin/ls -1t /var/log/*.miss | head -6)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Онлайн Plastikman

  • Автор темы
  • Участник
  • *
  • Сообщений: 222
    • Просмотр профиля
Re: Мониторинг логов с помощью скрипта bash.
« Ответ #5 : 17 Сентября 2022, 14:57:55 »
ALiEN175, Спасибо большое. Буду пробовать. Вы уже очень помогли.

 

Страница сгенерирована за 0.027 секунд. Запросов: 22.