вторник, 21 мая 2013 г.
вторник, 7 мая 2013 г.
Логинация агентов коллцентра с телефона на Asterisk
У клиента возникло желание логинить коллбэк агентов колл-центра с телефона, дабы не запутывать народ с веб интерфейсом. Итак, приступим к выполнению поставленной задачи.
Откроем файл /etc/asterisk/extensions_custom.conf, добавим 2 строки в инклюд, закоментируем контекст [agentlogin] и ниже пропишем контекст агент-логин и агент-логоф. Выглядить это все должно вот так:
Откроем файл /etc/asterisk/extensions_custom.conf, добавим 2 строки в инклюд, закоментируем контекст [agentlogin] и ниже пропишем контекст агент-логин и агент-логоф. Выглядить это все должно вот так:
[from-internal-custom] exten => 1234,1,Playback(demo-congrats) ; extensions can dial 1234 exten => 1234,2,Hangup() exten => h,1,Hangup() include => custom-login include => custom-logoff include => conferences include => calendar-event include => weather-wakeup
пятница, 26 апреля 2013 г.
Бэкап конфигов роутеров и цисок средствами системы
Копирование конфига рутера или циски на внешний tftp сервер
то есть есть последовательность команд которые при выполнении bash отправляет телнету, например echo - команда баша,а open 172.25.26.40 - команда телнета, получается echo отправляет команды друг за другом телнет клиенту, который этими командами и лезет в роутер, причем после каждой отправленной команды средствами sleep bash'а мы некоторое время ожидаем для предотвращения таймаута ответа.
( echo open 172.25.26.40 sleep 2 echo "sandi" sleep 1 echo "copy startup-config tftp://172.25.26.38/conf" sleep 5 echo "exit" ) | telnet
пятница, 22 марта 2013 г.
Перевели UTM5 с 32 битной системы на 64-битную и пиздец??
UTM5. URFAclient на PHP. Error calling function.
Для 64-х битных систем, если при вызове пользовательских функций возникает ошибка "Error calling function"
Всему виной php-функция unpack. Костыль нашел на форуме netup.ru.
Нужно поправить функцию AttrGetInt в файле URFAClient_Packet.php
Всему виной php-функция unpack. Костыль нашел на форуме netup.ru.
Нужно поправить функцию AttrGetInt в файле URFAClient_Packet.php
function AttrGetInt($code)
{
if (isset($this->attr[$code]['data'])) {
$x = unpack("N", $this->attr[$code]['data']);
if ($x[1]>2147483647) return $x[1]-4294967296;
return $x[1];
} else {
return FALSE;
}
}
если же после переноса или установке присуствует ошибка
Warning: Cannot modify header information - headers already sent by...
проверьте наличие директивы output_buffering в файле php.ini и включите ее (on поставьте или 4096)
четверг, 21 марта 2013 г.
Цикл выполняет действие при определенном выражении в логе
Цикл while построчно проверяющий лог на наличие определенного выражения, как только выражение найдено, выполняется нужная команда
Также после выполнения команды скрипт посылает письмо на почтовый ящик
Также после выполнения команды скрипт посылает письмо на почтовый ящик
while [ 1=1 ]; do tail -F /var/log/httpd-error.log | grep -m 1 "exit signal Segmentation fault" /usr/local/etc/rc.d/apache22 restart sleep 5; S=/tmp/apache_restart.succes echo "Apache has restarted succesfully!">$S echo "Hostname: $(hostname)">$S echo "Apache has restarted succesfully!">>$S mail -s "APACHE HAS RESTARTED!" "s@it-lab.md" <$S rm -f $S done
среда, 20 марта 2013 г.
Скрипт массового пинга хостов
CMD Скрипты, которые проверяют ip адреса из текстового файла и на выходе выдают 2 списка, alive и dead.
check.cmd
P.S. пути подправить под себя.
check.cmd
@Echo off for /F %%i in (c:\ip.txt) do call report.cmd %%i
report.cmd
@Echo off ping -n 1 -w 1000 %1 >nul if %errorlevel%==0 goto good goto bad :good echo %1>>alive.txt goto fin :bad echo %1>>dead.txt :fin
P.S. пути подправить под себя.
Скрипт удаляет все сообщения из очереди Postfix
скрипт удаляет все сообщения почтового ящика из очереди, куда идет спам
вторник, 12 февраля 2013 г.
Скрипт записи mac адреса в ARP таблицу на CISCO
Часто бывает, что необходимо отправлять команды на cisco извне. В моем случае необходимо отключать доступ юзеров в интернет, один из способов - это подставление липовых mac'ов в ARP таблицу маршрутизатора. NetUP UTM5 Billing умеет работать с cisco на уровне добавления записей в динамический access-list, но не все cisco поддерживают эти динамические листы. Итак, отправляем из биллинга команду, которая вызывает нижеописанный скрипт.
Скрипт написан на Bash с использованием Expect.
#!/bin/bash
prompt="*#"
promptconf="*(config)#"
четверг, 7 февраля 2013 г.
Скрипт, который копирует код сайта и дамп базы на удаленный фтп
#!/bin/sh
DIR=/backup
DATA=`date '+%Y%m%d'`
FTPU="user"
FTPP="password"
FTPS="ftp-host"
NOW=$(date +"%d-%m-%Y")
cd $DIR
find $DIR/* -mtime +1 -exec rm -f {} \;
mysqldump -uroot --password='password' base > base-$DATA.sql
tar -czf hostname-$DATA.tar.gz /path/to/folder
for file in *-$DATA.*
do
echo "$file" >> $DIR/current
done
rm -f $DIR/current
/usr/local/bin/lftp -u $FTPU,$FTPP -e "mkdir backup/$NOW;cd backup/$NOW; mput $DIR/*; quit" $FTPS
echo "Backup Server $DATA" | mail -s "Backup Server $DATA" s@it-lab.md < $DIR
Как выявить медленные SQL запросы?
Это случалось с каждым из нас при разработке веб-сайтов или приложений, использующих MySQL в качестве базы данных. Производительность внезапно сильно падала, и вы не имели понятия, почему это случилось. Этому могут быть причиной многие факторы (сильная загрузка CPU, нехватка дискового пространства, или слабая пропускная способность канала), но также это может быть и неоптимизированный запрос, выполняемый намного дольше, чем должен.
Как узнать, какие из запросов выполняются дольше всего?
В MySQL есть встроенный функционал для ведения логов медленных запросов.
Для включения этого функционала необходимо произвести одно из действий:
Как узнать, какие из запросов выполняются дольше всего?
В MySQL есть встроенный функционал для ведения логов медленных запросов.
Для включения этого функционала необходимо произвести одно из действий:
- добавить следующие строки в
/etc/my.cnf:log-slow-queries=/tmp/slow_queries.log
long_query_time=1
Такая знакомая команда cat
Такая знакомая команда cat
Алексей Дмитриев, 17апреля 2009Статья из серии
Команда cat, без сомнения, одна из самых употребительных. С ее помощью просматривают содержимое текстовых файлов. Но не все знают о еще двух "способностях" этой команды: комбинировать и объединять копии файлов и создавать новые файлы.
Наше невежество простирается и на само название этой команды: по-русски оно всеми произносится как "кат", хотя по-английски оно звучит как "кэт", так же как кошка. Из-за этого в англоговорящем мире название команды считается не интуитивным (хотя происходит от слова concatenatе - объединять) и вызывает множество шуток и нареканий. Кстати говоря, русскому произношению "кат" соответствует команда cut, служащая совсем для других целей.
вторник, 5 февраля 2013 г.
Небольшой тюнинг и рекомендации для mysql
В статье будет рассмотрено несколько рекомендаций по тюнингу и улучшении работыmysql. Замечу сразу, что численные значения для каждого сервера будут свои (подбираются путём экспериментов) и простое бездумное копирование, может не только ничего не дать, но и напротив – ухудшить производительность.
четверг, 31 января 2013 г.
Using esxtop to identify storage performance issues
Using esxtop to identify storage performance issues
Details
Solution
Configuring monitoring using esxtop
To monitor storage performance per HBA:- Start esxtop by typing esxtop at the command line.
- Press d to switch to disk view (HBA mode).
- Press f to modify the fields that are displayed.
- To view the entire Device name, press SHIFT + L and enter 36 in Change the name field size.
- Press b, c, d, e, h, and j to toggle the fields and press Enter.
- Press s, then 2 to alter the update time to every 2 seconds and press Enter.
- See Analyzing esxtop columns for a description of relevant columns.
вторник, 29 января 2013 г.
Setting Up Postfix As A Backup MX
In this tutorial I will show how you can set up a Postfix mailserver as a backup mail exchanger for a domain so that it accepts mails for this domain in case the primary mail exchanger is down or unreachable, and passes the mails on to the primary MX once that one is up again.
I do not issue any guarantee that this will work for you!
1 Preliminary Note
I want to set up a backup MX for the domain example.com. In this example the primary MX for example.com is called mx1.example.com (IP address 1.2.3.4), so I call the backup MX mx2.example.com (IP address 1.2.3.5).
I have created MX records for example.com that look like this:
example.com. 86400 IN MX 10 mx1.example.com.
example.com. 86400 IN MX 20 mx2.example.com.
example.com. 86400 IN MX 20 mx2.example.com.
It's important that the primary MX has a lower number (10) and therefore a higher priority than the backup MX (20).
I'm assuming that the Postfix on mx2.example.com is already installed and working.
Поднимаем FreeBSD 8.2+ на ZFS root с зеркалированием используя GPT с помощью Rescue-System в Hetzner
Не так давно один из моих клиентов решил перенести свои проекты из российского датацентра в Германию в компанию Hetzner. Им был выбран выделенный сервер в конфигурации EX 4S (i7 2600, 32Gb ram, 2x3Tb), за какие то совершенно смешные деньги.
И так как и в дальнейшем планировалось еще докупать аналогичные сервера, решил собрать нужную информацию в единую заметку. Данная заметка является скорее компиляцией и переводом нескольких статей которые мне пришлось использовать когда первый сервер был установлен + что немного от себя.
Наверное не так мало системщиков, которые бы не знали компанию Hetzner. По мимо низких ценников, у них довольно интересно реализована замена недешевой KVM-IP, в виде загрузочных образов систем названных Rescue System. И так как FreeBSD при заказе сервера они сами не устанавливают, то единственный способ установить систему это воспользоваться данной возможностью.
И так как и в дальнейшем планировалось еще докупать аналогичные сервера, решил собрать нужную информацию в единую заметку. Данная заметка является скорее компиляцией и переводом нескольких статей которые мне пришлось использовать когда первый сервер был установлен + что немного от себя.
Наверное не так мало системщиков, которые бы не знали компанию Hetzner. По мимо низких ценников, у них довольно интересно реализована замена недешевой KVM-IP, в виде загрузочных образов систем названных Rescue System. И так как FreeBSD при заказе сервера они сами не устанавливают, то единственный способ установить систему это воспользоваться данной возможностью.
пятница, 25 января 2013 г.
УСТАНОВКА VMWARE TOOLS НА CENTOS
Ситуация
Есть установленная CentOS в среде VMware для комфортной и правильной
работы ОС необходимо установить VMware Tools на данную машину.
Решение
Необходимо выбрать из меню свойств виртуальной машины - Install VMware Tools...
Образ автоматически "вставляется" в CDRom который необходимо смонтировать
(в нашем случае в каталог mnt):
Тюнинг файловой системы Linux
Достаточно интересный материал об оптимизации Linux-системы
ЧАСТЬ 1 — Оптимизация винчестера
Корневой раздел, на который у вас установлен Linux, скорее всего, содержит файловую систему ext3/ReiserFS/XFS. Сведения о монтируемых при загрузке разделах содержатся в файле /etc/fstab, где обязательно присутствует корневой раздел (/). Обратите внимание на пункт defaults, обозначающий стандартный набор параметров монтирования. Однако мы можем указать их и вручную, поставив после defaults запятую и перечислив ряд настроек, которые сделают файловую систему быстрее.
Подписаться на:
Комментарии (Atom)