понедельник, 29 февраля 2016 г.

Error: rpmdb open failed

Появилась ошибка:
# yum
error: rpmdb: BDB0113 Thread/process 12457/140165805504320 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 -  (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed


среда, 24 февраля 2016 г.

Анализ логов Postfix

Очень удобный скрипт для получения статистики и анализа лога почтового сервера Postfix.


Устанвока:
# wget http://jimsun.linxnet.com/downloads/pflogsumm-1.1.1.tar.gz
# tar -zxf pflogsumm-1.1.1.tar.gz
# cd pflogsumm-1.1.1

Запуск:
# cat /var/log/maillog | ./pflogsumm.pl

Примерный вывод:

вторник, 23 февраля 2016 г.

вторник, 16 февраля 2016 г.

Сброс статистики трафика ISPmanager

Пришел очень странный запрос на сброс трафика в ISPmanager.

Делается это просто.
Идем в конфигурационный файл ISPmanager:
# vim /usr/local/ispmgr/etc/ispmgr.conf 

И для каждого пользователя правим поле:
BandwidthUsage 0

После чего перезапускаем ISPmanager:
# killall -9 -r ispmgr

понедельник, 15 февраля 2016 г.

OpenVZ создание произвольного образа ОС для установки контейнера

Краткая заметка о создании кастомного образа для установки контейнера.

1. Создадим контейнер с нужной нам операционной системой.
2. Установим или удалим нужные и ненужные пакеты из системы
# vzctl enter CTID
# apt-get remove package
....

3. Удалим IP-адрес у контейнера:
# vzctl set CTID --ipdel all -save

4. Остановим контейнер
# vzctl stop CTID

5. Перейдем в каталог установленного контейнера
# cd /var/lib/vz/private/CTID

6. Сохраним содержимое файловой систему с нужным нам именем:
# tar -czvf /var/lib/vz/template/cache/<template name>.tar.gz ./

Установка Ansible на Ubuntu 12.04

Краткая заметка по установке свежей версии:

Обновим кеш пакетов:
# apt-get update

Установим нужные пакеты:
# apt-get install python-pip python-dev git -y

Установим нужные библиотеки:
# pip install paramiko PyYAML Jinja2 httplib2 six

Склонируем Ansible из репозитория:
# git clone git://github.com/ansible/ansible.git --recursive

Установим Ansible:
# cd ./ansible
# make install
# mkdir /etc/ansible
# cp ~/ansible/examples/hosts /etc/ansible

Ansible Proxmox

Добрый день.
Сегодня краткая заметка и описание работы ansible модуля для Proxmox.
Модуль Proxmox для Ansible стал доступен с версии 2.0.0 (Описание)

Был создан файл hosts с содержимым:
[pve]
192.168.0.125


И пара playbook:
- crate_ct_manual.yml
- remove_ct_manual.yml

воскресенье, 14 февраля 2016 г.

Время ответа сайта с помощью curl

Очень удобный способ, получить информацию, где же затык.

Создаем файл curl_format.txt с содержимым:
    time_namelookup:  %{time_namelookup}\n
       time_connect:  %{time_connect}\n
    time_appconnect:  %{time_appconnect}\n
   time_pretransfer:  %{time_pretransfer}\n
      time_redirect:  %{time_redirect}\n
 time_starttransfer:  %{time_starttransfer}\n
                    ----------\n
         time_total:  %{time_total}\n


После чего, выполняем:
$ curl -w "@curl_format.txt" -o /dev/null -s "http://blog.asidorov.name"
    time_namelookup:  0,126
       time_connect:  0,200
    time_appconnect:  0,000
   time_pretransfer:  0,200
      time_redirect:  0,000
 time_starttransfer:  0,813
                    ----------
         time_total:  1,128

суббота, 13 февраля 2016 г.

Системные вызовы Linux небольшой справочник

Знание системных вызовов очень облегчает работу программистов (для написаний программ на языке программирования С) и системным администратором при дебаге какой-либо программы, с помощью таких инструментов, как: strace/gdb и пр. Вот небольшое описание системных вызовов Linux.


среда, 10 февраля 2016 г.

MySQL Master-Slave репликация

Master-Slave репликация в MySQL часто используется для обеспечения отказоустойчивости или распределения нагрузки на сервер баз данных. Например, можно запросы на изменение данных направлять на Master-сервера, а запросы на чтение выполнять на Slave-сервере. Пример о применении репликации.

Есть 2 сервера:
1. 192.168.1.10 - Debian squeeze Mysql 5.5 - Master
2. 192.168.1.15 - Centos 6 Mysql 5.5 - Slave

Необходимо настроить репликацию с Master сервера на Slave сервер базы данных repl.

воскресенье, 7 февраля 2016 г.

Установка JIRA и Confluence + nginx + MySQL на Debian

В данной заметке рассмотрена установка JIRA и Confluence на Debian с nginx и MySQL.

JIRA - коммерческая система отслеживания ошибок, предназначена для организации взаимодействия с пользователями, хотя в некоторых случая используется и для управления проектами.
Confluence - тиражируемая вики-система для внутреннего использования организациями с целью создания единой базы знаний.


Примеры применения nmap


Установка:
Debian/Ubuntu:
# apt-get install -y nmap

CentOS/RedHat
# yum install -y nmap

Сохранить вывод в файл:
# nmape 192.168.1.1 > output.txt
# nmap -oN output.txt 192.168.1.1

Установка MemSQL на Ubuntu 14.04

MemSQL - это типичная база данных в памяти, которая может читать и писать данные быстрее традиционных баз данных.
Использует MySQL протокол.
MemSQL владеет новейшими возможностями MySQL, такие, как поддержка JSON. Одно из самых больших преимуществ MemSQL над MySQL - он умеет отдельный запрос распределять по нескольким серверам, известный как параллельная обработка запроса, что приводит к гораздо быстрому чтению данных.
В этой заметке мы установим MemSQL на Ubuntu 14.04. Проведем тестирование нагрузки и попробуем работу с JSON из MySQL клиента.

Установка Graylog на Ubuntu 14.04

Graylog - бесплатная open source система централизованного сбора, хранения и анализа информации, которая пишется в syslog.

Graylog состоит из таких компонент:
- Graylog server node - Java TCP/UDP лог-коллектор;
- Elasticsearch node - хранение сообщений/логов;
- MognoDB - хранение конфигурации и метаданных;
- Web Interface - пользовательский веб-интерфейс.

вторник, 2 февраля 2016 г.

Dotdeb signatures couldn't be verified

Понадобилось поставить PHP 5.6 на Debian Wheezy, добавил репу DotDeb https://www.dotdeb.org/instructions/
При apt-get update вылезло:
W: GPG error: http://packages.dotdeb.org wheezy-php56-zts Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY E9C74FEEA2098A6E


Перенос писем из почтового ящика с сервера на сервер

Появилась необходимость перенести почту с одного сервера на другой на домене.
Для этого была найдена довольно старая, но работающая утилита imapsync.

На старом сервере имеем почтовый ящик mail@domain.com. Создаем аналогичный почтовый ящик на новом сервере. Клиент работает с почтой через Roundcube.

После чего нам необходимо синхронизировать папки и письма со старого сервера на новый.
Действие происходит на операционной системе CentOS 6.

Установим репозиторий rpmforge
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
# rpm -Uhv rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

И собственно установим сам пакет:
# yum install imapsync