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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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

Оффлайн Plastikman

  • Автор темы
  • Участник
  • *
  • Сообщений: 209
    • Просмотр профиля
Имеется программа, которая ежечасно создаёт новый лог-файл с расширением .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

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

Оффлайн ALiEN175

  • Администратор
  • Старожил
  • *
  • Сообщений: 5781
  • Vamos a Bailar
    • Просмотр профиля
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 »
ASUS P5K-C :: Intel Xeon E5450 @ 3.00GHz :: 8 GB DDR2 :: Radeon R7 260X :: XFCE
ACER 5750G :: Intel Core i5-2450M @ 2.50GHz :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Plastikman

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

Оффлайн ALiEN175

  • Администратор
  • Старожил
  • *
  • Сообщений: 5781
  • Vamos a Bailar
    • Просмотр профиля
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)
ASUS P5K-C :: Intel Xeon E5450 @ 3.00GHz :: 8 GB DDR2 :: Radeon R7 260X :: XFCE
ACER 5750G :: Intel Core i5-2450M @ 2.50GHz :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Plastikman

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

 

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