Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
romaxa
- рядовой
- Сообщения: 47
- Зарегистрирован: 2013-10-17 16:58:52
Непрочитанное сообщение
romaxa » 2020-05-01 8:00:54
Всем доброе время.
Переодически у меня rinetd грузить процессор начинает, при этом перезагрузка его помогает.
Делаю что-то типа:
Получаю строчку: 819 root 1 34 0 11M 2576K select 1 164:28 95.00% rinetd
Как мне лучше вытащить цифру процента загрузки, чтобы распознать процент и его перезапустить?
romaxa
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
romaxa
- рядовой
- Сообщения: 47
- Зарегистрирован: 2013-10-17 16:58:52
Непрочитанное сообщение
romaxa » 2020-05-01 8:42:42
Сделал вот так, может можно как-то проще?
Код: Выделить всё
RSLT=`top | grep rinetd | tr " " "\n" | grep % | tr "%" "\n" | cut -c 1-2`
echo $RSLT
romaxa
-
romaxa
- рядовой
- Сообщения: 47
- Зарегистрирован: 2013-10-17 16:58:52
Непрочитанное сообщение
romaxa » 2020-05-01 9:30:34
Если процент был менее 10, то ошибку выводило.
Получилось так, но мне кажется это сильно длинно, может можно проще?
Код: Выделить всё
RSLT=`top | grep rinetd | tr " " "\n" | grep % | tr "%" "\n" | sed -r "s/\..+//"`
#echo $RSLT
romaxa
-
romaxa
- рядовой
- Сообщения: 47
- Зарегистрирован: 2013-10-17 16:58:52
Непрочитанное сообщение
romaxa » 2020-05-02 9:15:22
А чем top не подходит? Разве не проще взять процент в строке, в которой четко указан процент?
Neus писал(а): ↑2020-05-01 17:52:27
man ps
man procstat
romaxa
-
Alex Keda
- стреляли...
- Сообщения: 35427
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2020-08-27 11:37:29
я киляю раз в сутки, ночью и запускаю заново
это как бы известная у него бага...
Убей их всех! Бог потом рассортирует...
Alex Keda
-
romaxa
- рядовой
- Сообщения: 47
- Зарегистрирован: 2013-10-17 16:58:52
Непрочитанное сообщение
romaxa » 2020-08-28 10:26:39
Я поставил писать в лог, не так и часто он тупит у меня.
Раз в 1-2 месяца...
Вот скрипт, который мониторит его и пишет лог:
Код: Выделить всё
#!/bin/sh
check_date="`date +%Y-%m-%d' '%H:%M`"
check_log="/usr/local/etc/cameracheck/log"
PID=`cat /var/run/rinetd.pid`
RSLT=`ps -u -p "$PID" | grep rinetd`
RSLT=`echo $RSLT | awk '{print $3}' | sed -r "s/\..+//"`
# processor overload more then 80%
if [ "$RSLT" -gt 80 ]
then
#restart rinetd
#write to log
{
echo "Overload processor: $check_date - $RSLT%: restarting..." >> $check_log
echo "Overload processor: $check_date - $RSLT%: restarting..." | mail -s "Rinetd restarted" root
/usr/local/etc/rc.d/rinetd restart
}
fi
romaxa