воскресенье, 9 января 2011 г.

Большие злые логи

Недавно столкнулся с проблемой - начал отваливаться squid3, но как показывает моя практика squid обычно отваливается когда заканчивается место на диске где стоит система.

Запускаю df вижу, что места осталось около одного процента, при том что обычно забито лишь 30% объема.

Что делать? первым делом убиваю бэкапы. + 30 гигов.
Бросаю это дело на время, иду к юзерам.
Прихожу сотрю снова почти нет места.
Что так забивает место? Мысль первая логи.
Без раздумий убиваю лог сквида, не жалко. Не помогает.
Запуская iotop и вижу ужасную картину, rsyslogd постоянно пишет на винт со скоростью 3 метра в секунду. Что за херь?
Убиваю rsyslogd. Начинаю разбираться в чем дело.
Оказалось demon.log, auth.log и еще всякие разрослись на 200 ГБ. быстренькао их удаляю и начинаю пилить настройки rsyslogd, но, выясняется, что он только собирает часть логов, а упралвяет, архивирует logrotate.

Трогать стандартные настройки logrotate в /etc/logrotate.conf не вижу особого смысла.
А вот перелопатить папочку /etc/logrotate.d/ стоит.
$sudo nano /etc/logrotate.d/rsyslog

по умолчанию он выглядит примерно так:
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug

и ротация включена только для syslog.
Добавим ротацию логов daemon.log, auth.log, user.log и т.д.
/var/log/daemon.log
{
rotate 3 # хранить 3 последних логов
weekaly # ротация каждую неделю, можно поставить каждый день daily
missingok # отсутствие файла не является ошибкой
notifempty # не обрабатывать пустые файлы
nodelaycompress # сразу сжимать старый лог,
# delaycompress оставляет послудний ротированный лог не сжатым
compress # сжимать ротируемый файл
# create 640 root # права и пользователей для создания новых логов. параметр необязательный.
postrotate # скрипт выполняемый после ротации
reload rsyslog >/dev/null 2>&1 || true
endscript # конец скрипта
}

Примерно такие конструкции следует поставить послу каждого лога.
Вот и вся настройка.

Теперь надо проверить.
$sudo logrotate -d /etc/logrotate.d/rsyslog

Если все правильно ошибок не будет, если они есть то внимательно смотрим что пишут.

А теперь можно и запустить ротацию
$ sudo logrotate -v -f /etc/logrotate.d/rsyslog

Все. Конфиги перечитаны, и применены.

вторник, 2 ноября 2010 г.

freebsd и установка софта

Перво наперво хорошо бы обновить дерево портов:
из под рута:

получаем "живое" дерево портов, у меня на свеже установленной системе скачалось 63 mb.
portsnap fetch
распоковываем свежее дерево в порты. процесс этот занял на мое виртуальной машине минут 20.
portsnap extract
это надо делать только один раз, последующее обновление выполнять так:
portsnap fetch update
чтобы найти нужную прогу в портах пользуемся
whereis

маленький ман.

Фряха. Начало.

С установкой проблем особых нет, кроме ручного указания обязательных разделов для монтирования:
/ # корню много не надо, в манах не более 512 mb.
swap # своп, как правило вдвое больше оперативки.
/var # пару гигов сюда.
/tmp # тут все понятно, тепм он везде темп
/usr #сюда всё остальное совободное место.

вот неплохой мануальчик по установке freeBSD.


воскресенье, 17 октября 2010 г.

Автозагрузка правил iptables

Создаём папку ~/bin для складирования туда самописных скриптов.
Наш скрипт iptables-save.sh будет брать уже существующие настройки iptbales и складывать их в /etc/network/if-up.d/ для автозагрузки во время старта сетевых интерфейсов и в /var/backups/ для бэкапа, после я буду настраивать синхронизацию конфигов и скриптов с dropbox.com для "автоматического" создания бэкапов.

$ mkdir ~/bin
$ nano ~/bin/iptables-save.sh

#! /bin/sh
echo "#! /sbin/iptables-restore\n`iptables-save`" > /etc/network/if-up.d/iptables-rules
chmod +x /etc/network/if-up.d/iptables-rules
cp --backup=numbered -aT -- /etc/network/if-up.d/iptables-rules /var/backups/iptables-rules

$ chmod +x ~/bin/iptables-save.sh
автор оригинального скрипта AnrDaemon с форума ubuntu.ru.

воскресенье, 5 сентября 2010 г.

Canon LBP 2900 на Ubuntu 10.04 x86_64

Провозившись с разными мануалами по поводу установки принтера Canon LBP 2900 на Ubuntu 10.04 x86_64, уж хотел бросить это дело и отдать принтер его владельцу т.к. он мне в любом случае не подходит, мне нужен принтер с дуплексом чтобы печатать дома книжки, но тут внезапно отыскался готовый вариант на опенказани от энтузиаста из Бухареста Раду Котеску который собрал дрова в .deb для 32 и 64 битных систем за что ему честь и хвала!
В общем на 05.06.2010 поддерживаются принтеры:
* LBP-1120 * LBP3250
* LBP-1210 * LBP3300
* LBP2900 * LBP3310
* LBP3000 * LBP3500
* LBP3010 * LBP5000
* LBP3018 * LBP5050
* LBP3050 * LBP5100
* LBP3100 * LBP5300
* LBP3108 * LBP6300dn
* LBP3150 * LBP7200C
* LBP3200 * LBP9100Cdn
* LBP3210

качать собранные дрова отсюда, распаковывать и запускать так:
wget http://codebin.cotescu.com/canon/lbp_driver/CanonCAPTdriver.tar.gz
tar xzf CanonCAPTdriver.tar.gz
cd raducotescu-CanonCAPTdriver-eb1e844
sudo ./canonLBP_install.sh (модель_принтера)
после чего машину и принтер надо отправить в ребут после которого все заработает.

оригинал поста здесь на опенказани.

понедельник, 30 августа 2010 г.

traffpro.free.1.3.7-90 и Ubuntu 10.04 srv

##поставить сквид
Большая проблема в том, что официальная документация написана для RedHat/CentOS/Fedora, и соответственно есть проблемы с зависимостями. перед тем как начинать ставить traffpro из сорцов надо залить нужные ему пакеты

sudo apt-get install g++ dialog openssl apache2 mysql-server iptables-dev libmysqlclient16 php5 php5-mysql libmysql++-dev libmysqlclient15-dev libssl-dev libnetfilter-queue-dev libnetfilter-queue1

и после можно начинать установку в псевдографическом режиме

доступ к админке по адресу ваш_сервер/traffpro/index.php/admin_login

четверг, 12 августа 2010 г.

lvm, raid и рухнувший сервер

Монтирование LVM раздела
Установим lvm2:
sudo apt-get install lvm2

Посмотрим lvm раздел:
sudo lvdisplay

Смортируем:
sudo modprobe dm-mod
sudo vgchange -ay
sudo mkdir /mnt/old
дальше обычный mount.