RU EN ES

Всё о любом домене или IP-адресе

Домены ХостингХостинг VPS ХостингVPS / VDS SSLСертификаты О компании О компании

VPS / VDS хостинг >  Настройка crontab скрипта во избежание высокой нагрузки

Когда ни одна из служб защиты не смогла отразить атаку или сервер начал работать под высокой нагрузкой по другой причине. Мы предлагаем установить скрипт и запускать его каждую минуту через службу crontab. Это позволит не потерять доступ к серверу при критичной нагрузке и принять меры по устранению данной ситуации.


#!/bin/bash

loadavg=`uptime | awk '{print $10+0}'`

# bash doesn't understand floating point

# so convert the number to an interger

thisloadavg=`echo $loadavg|awk -F \. '{print $1}'`

if [ "$thisloadavg" -ge "2" ]; then

 echo "Busy - Load Average $loadavg ($thisloadavg) "

    echo 'Warning - Load AVG (my.server.tld) on:' `date` `uptime` | mailx -s "Warning: LA from `uptime | cut -d'(' -f2 | cut -d')' -f1`" -S smtp=smtp://mail.server.tld -S smtp-auth=login -S smtp-auth user=user@domain.tld -S smtp-auth-password=PassW0rd -S from="LLC COMPANY <from@domain.tld>" to@domain.tld

  else

   echo "Okay - Load Average $loadavg ($thisloadavg) "

   fi


Данный скрипт необходимо сохранить в файл load-average-2.sh в папке /etc/cron.daily задать права на выполнение.
Потом нужно добавить через команду crontab -e строку чтобы выполнять его каждые 2 минуты:

*/2     *       *       *       *       /etc/cron.daily/load-average-2.sh >> /dev/null 2>&1

Значения необходимо заменить на свои:

my.server.tld - имя сервера на который Вы устанавливаете скрипт.

mail.server.tld - имя домена почтового сервера, через который скрипт будет отправлять Вам уведомления.

user@domain.tld - имя почтового ящика для подключения к серверу почты (логин).

PassW0rd - пароль для почтового аккаунта.

"LLC COMPANY <from@domain.tld> - Имя и адрес от кого будет отправлено письмо.

to@domain.tld - почтовый адрес куда будет отправлено уведомление.

В случае если нагрузка ( load average) будет превышать 2 т.е. 200% (2 ядра), скрипт вышлет уведомление. Данный параметр выделен, его можно поменять на свой в зависимости от кол-ва ядер у сервера. К примеру если у Вас 4 ядра, то максимальная нагрузка будет 4, т.е. 400%.

При необходимости Вы можете добавить в скрипт команды, которые необходимо выполнять, например перезапуск служб с целью сброса нагрузки. Добавить их необходимо перед else, например:

service nginx restart

service ddos restart

service httpd restart

Личный кабинет

Вход

Напомнить пароль


Регистрация


Проверить почту:

Логин:
Пароль:

VPS Каталог приложений

Дополнительные услуги

База знаний

VPS хостинг

Нас выбрали ведущие медиа компании с большими объемами данных и высокой нагрузкой

Рассчитать тариф

Перенос домена