Добавьте в файл /etc/postfix/master.cf следующую запись: smtp_new inet n - - - - smtpdА так же в файл /etc/services: smtp_new 2525/tcp и перезапустить Postfix
Смена порта с 25 на 2525 Postfix
February 11th, 2010Exim + передёрнуть очередь
January 25th, 2010/usr/local/exim-smtp/exim -bp | grep @ | grep \< | awk ‘{print $4}’ | sort | uniq -c | sort -n |tail -15
Вывести TOP 15 email адресов с которых производится рассылка писем
/usr/local/exim-smtp/exim -bp | grep email | awk ‘{print $3}’ | xargs -n1 /usr/local/exim-smtp/exim -Mrm
Удалить письма с определенного email адреса.
Iptables + заблокировать IP адрес
January 25th, 2010iptables -A INPUT -s ip -j DROP – добавить правило
iptables -D INPUT -s ip -j DROP – удалить правило
Работа с SNMP
January 13th, 2010Порой требуется получить результат текущего состояния сервера через SNMP, сделать это можно так:
snmpwalk -v 1 -c GROUP HOST UCD-SNMP-MIB::dskPercent.1 – показать занятость диска в %, диск должен быть определен в snmpd.conf директивой disk /var – например
1С-Битрикс + $_SERVER['DOCUMENT_ROOT']
January 13th, 2010Столкнулся с проблемой, у клиента был установлен не корректно $_SERVER['DOCUMENT_ROOT'] из-за чего все вызовы
require($_SERVER['DOCUMENT_ROOT'].”/bitrix/header.php”); на подобие таких не отрабатывались, решением было вставка в начало каждого файла где фигурирует require следующей конструкции:
grep -r require . | awk ‘{print $1}’ | cut -d ‘:’ -f 1 | uniq | xargs -n1 perl -i -ne ‘if( $. == 1 ) { print “<? require(\”path_to/reg.php\”); ?>”,$_; } else { print; } ‘ -i ”
а в reg.php пропишем:
<?
$_SERVER['DOCUMENT_ROOT'] = ‘correct_path_to_bitrix’;
?>
No space left on device: Couldn’t create accept lock or Cannot create SSLMutex
January 6th, 2010[Tue Mar 04 09:22:48 2008] [error] (28)No space left on device: Cannot create SSMutex
Configuration Failed
ipcs -s | grep apache | perl -e ‘while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}’
Как собрать PHP в режиме CGI
January 6th, 2010| Производите подключение по SSH. Выполняете следующие команды:
1) wget http://ru2.php.net/get/php-5.2.11.tar.bz2/from/ru.php.net/mirror 2) tar -xjvf php-5.2.11.tar.bz2 3) cd php-5.2.11 ./configure –prefix=/storage/home/srvXXX/php \ –with-mysql=/usr/local \ –with-gd=/usr/local \ –enable-fastcgi 4) make 6) cp /storage/home/srvXXX/php/bin/php-cgi /storage/home/srvXXX/cgi-bin/php 7) chmod 755 /storage/home/srvXXX/cgi-bin/php в файл .htaccess добавляете следующие директивы: Action php-script /cgi-bin/php AddHandler php-script .php |
Системы мониторинга
December 28th, 2009У нас часто спрашивают какую систему мониторинга использовать на серверах, чтобы ответить на данный вопрос, нужно знать – что важно клиенту, достоверность информации, либо скорость отдачи информации относительно случившегося события.
Есть 2 типа систем мониторинга:
1) Работают по протоколу SNMP, при этом есть системы требующие установки дополнительных клиентов на каждом сервере (Zabbix), либо использующие только возможности SNMPD(Nagios).
2) Самописные системы, забирающие данные по FTP.
1 тип систем подходит для быстрого развёртывания и достоверного получения информации в пределах 5 минут, именно о них будут последующие записи.
MySQL + Maatkit
November 3rd, 2009Надоело мне смотреть на безобразие на БД серверах, установил пакет maatkit, что умеет:
perl /usr/local/bin/mk-query-digest --filter '($event->{user} || "") =~ m/USER/'
/var/log/mysql-slow.log | less - вытащить запросы по пользователю.
perl /usr/local/bin/mk-query-digest --filter '($event->{db} || "") =~ m/DB_NAME/'
/var/log/mysql-slow.log | less - вытащит запросы по БД.
В конце выводится таблица самых часто выполняемых и тяжеловестных запросов.
perl /usr/local/bin/mk-query-digest --filter '$event->{Lock_time}>0'
/var/log/mysql-slow.log | less - вывести таблицы которые чаще всего локаются.
perl /usr/local/bin/mk-query-digest --filter '($event->{Tmp_table} || "") eq "Yes"'
/var/log/mysql-slow.log | less - кто использует Tmp_table
perl /usr/local/bin/mk-query-digest --filter '(($event->{Disk_tmp_table} || "") eq "Yes") ||
(($event->{Tmp_table} || "") eq "Yes")' /var/log/mysql-slow.log | less
perl /usr/local/bin/mk-query-digest --filter '$event->{Rows_examined}>500000'
/var/log/mysql-slow.log | less - по Rows_examined сортируем
perl /usr/local/bin/mk-query-digest --group-by db /var/log/mysql-slow.log
Работа с DNS
October 30th, 2009Часто возникает вопрос, как просмотреть дату истечения домена, а так же я продлил домен, почему он не работает?
1) Используем любой whois сервис, например:
https://www.nic.ru/whois/?query=sdh-info.ru
и смотрим поле paid-till: 2010.10.25
2) При продлении домена срок обновления DNS адресов занимает до 6 часов, без учёта кэширования информации о DNS зонах внутри провайдеров.