blog.thecall.ru
Блог компании thecall.ru

Перенос БД с одного сервера на другой с помощью netcat

24 августа 2016 г. РазноеОбсудить

Все просто )

на старом сервере запускаем:

mysqldump -uUser -pPassword database | gzip -c | nc IP_нового_сервера 6625 <-порт

на новом

nc -l -p 6625 | gunzip -c | mysql -uUser -pPassword database

Asterisk: Обеспечим VIP-клиентам первое место в очереди звонков, а так же свяжем клиента с конкретным оператором на заданное время

3 июня 2015 г. Asterisk11

Asterisk — это fun!

Каждый раз сталкиваясь с какой-то нестандартной задачей я радуюсь, радуюсь возможности снова погрузиться с головой в это чудесное состояние творчества, работы мысли. В последнее время такие задачи появляются часто и это здорово.

Обозначенные в заголовке были реализованы и работают, а значит пришло время поделиться с сообществом своими решениями.

Расскажу немного подробнее о каждой.

1. Организовать список номеров телефонов VIP-клиентов.

Звонки от VIP-клиентов должны попадать на первое место в очереди Asterisk, для скорейшей обработки именно их обращения. Так же нужно иметь возможность удобно добавлять и удалять контрагентов из этого списка.

2. Связать звонок клиента с конкретным оператором очереди на заданное время.

Настроить Asterisk так, чтобы в его «памяти», на какое-то заданное время, оставалась информация о том, какой из операторов очереди принял вызов. Позвонил человек с номера 8913*75*5*0 и попадает к оператору очереди Алёна и нужно сделать так, чтобы в течение, например суток, входящие звонки с этого номера принимала только Алёна и никто другой.

Но это еще не все, если клиент не хочет общаться с Аленой, то он может нажать клавишу * на своем телефоне и в следующий раз попадет уже к другому оператору.

С вступлением на этом заканчиваю, немного Python, MySQL и хитрого dialplan ждут вас под катом.

Далее...

Блокирование DDoS атаки на Apache(большого числа TIME_WAIT соединений и самых активных из access_log)

4 мая 2015 г. scripts30

Еще одна записка на полях.

Число дочерних процессов Apache достигает максимума, количество TIME_WAIT соединений в списке netstat -tn растет и растет...

Для блокирования зарвавшихся пишем два скрипта, один будет проверять вывод netstat и access_log web сервера, а другой непосредственно блочить.

Первый, check_syn.sh , отдает скрипту блокировки IP адреса, которые засветились более 25 раз в обоих случаях(netstat и access_log):

#!/bin/bash
netstat -tn | grep TIME_WAIT | awk {'print $5'}| grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |uniq -c |sort -rn| awk '{if ($1>25) print $2}'  |xargs -I{} /root/block.sh {}
tail -1000 /etc/httpd/logs/access_log |  awk {'print $1'}|sort |uniq -c |sort -rn |grep -v 127.0.0.1|  awk '{if ($1>25) print $2}'|xargs -I{} 
/root/block.sh {}

Второй, block.sh блокирует:

#!/bin/bash
count=`iptables -nvL --line | grep $1 | wc -l`
if [ $count -eq 0 ]
then
  iptables -A INPUT -s $1 -m tcp -p tcp -j DROP
fi