Разные заметки

среда, 21 апреля 2010 г.

Watch

Запуск команды в цикле.
watch -n1 -d "la -lha /tmp"
интервал 1 сек, с выделением изменений подсветкой.

вторник, 20 апреля 2010 г.

HTB генератор правил

Сайт автора http://www.praga.org.ar/wacko/DevPraga/htbgen/
ман http://www.nixp.ru/articles/Управление-сетевым-трафиком-посредством-очередей.html

Оптимизация кэша squid

Оригинал http://www.ylsoftware.com/news/403
и еще вот http://www.papercut.com/kb/Main/ConfiguringSquidProxyToAuthenticateWithActiveDirectory

Стандартно шаблоны выглядят так:
refresh_pattern ^ftp: 1440 20% 10080 
refresh_pattern ^gopher: 1440 0% 1440 
refresh_pattern . 0 20% 4320
Для начала закомментируем имеющиеся правила.
Далее настроим более жёсткое кэширование для определённых типов файлов:
refresh_pattern \.bz2$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern \.exe$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern \.gif$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern \.gz$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern \.ico$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern \.jpg$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern \.mid$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern \.mp3$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern \.pdf$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern \.swf$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern \.tar$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern \.tgz$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern \.zip$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache

Далее на очереди реклама. Конечно её можно вырезать с помощью bfilter и/или adzapper, но ни один фильтр не может убрать всей рекламы, потому на всякий случай добавим правила для кэширования рекламы:
refresh_pattern http://ad\. 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern http://ads\. 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern http://adv\. 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern http://click\. 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern http://count\. 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern http://counter\. 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern http://engine\. 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern http://img\.readme\.ru 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern http://userpic\.livejournal\.com 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern \.ru/bf-analyze 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern \.ru/bf-si 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern /advs/ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern /banners/ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache 
refresh_pattern /cgi-bin/iframe/ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache

Наконец можно написать правила для адресов, не подпадающих под остальные шаблоны. Используем дефолтные правила с небольшой модификацией:
refresh_pattern ^ftp: 1440 20% 10080 
refresh_pattern ^gopher: 1440 0% 1440 
refresh_pattern . 0 80% 14400

При наличии достаточного количества места на сервере так же имеет смысл увеличить размер кэша и максимальный размер объекта, попадающего в кэш.
За размер кэша отвечает параметр cache_dir:
# cache_dir ufs /var/spool/squid 100 16 256 
cache_dir ufs /var/spool/squid 10240 16 256 # 10240 Мб - 10 Гб

За максимальный размер объекта в кэше отвечает параметр maximum_object_size:
# maximum_object_size 4096 KB 
maximum_object_size 20480 KB 

Настройка сообщений squid на русском языке:
error_directory /usr/share/squid/errors/ru

Закончив изменения сохраняем файл и даём команду squid перечитать настройки:
squid -k reconfigure


и еще почитать http://squid.h12.ru/FAQ/FAQ-6.html

Кэширующий BIND9

Файл named.conf.options:
options {
directory "/var/cache/bind";

forwarders {
85.91.99.99;
84.47.177.77;
8.8.8.8;
};
allow-query { 192.168.11.0/24; 127.0.0.1; };
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};

Файл описания зон named.conf.default-zones:
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};

zone "localhost" {
type master;
file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};

Файл db.root скачиваем c FTP-сервера ftp.internic.net: 
# wget ftp://ftp.internic.net/domain/named.root
# mv named.root db.root 

Желательно периодически повторять эту процедуру или настроить на автоматическое обновление через cron.

и еще тут http://ru-board.com/new/article.php?sid=161
и вот http://zerochaos.ru/2008/08/28/nastrojka-dns-servera-bind9-ubuntudebian-poshagovaya-instrukciya/

понедельник, 19 апреля 2010 г.

Perl процедура даты-время

###
sub d_t {
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
$year=(1900+$year);
++$mon;
if ($mon<10) {$mon="0$mon";}; if ($mday<10) {$mday="0$mday";}; $dat="$mday-$mon-$year"; ### дата в формате 19-04-2010 if ($hour<10) {$hour="0$hour";}; if ($min<10) {$min="0$min";}; if ($sec<10) {$sec="0$sec";}; $vrem="$hour:$min:$sec"; ### время в формате 12:00:00 } ###

Perl запись в текстовый файл


###
open (PRIMER, "> file.txt") or die "фигня с файлом file.txt....\n";
### Переключаем вывод в файл
$old_point=select(PRIMER);
...
print "Nachinaem rabotu.\n";
...
### Переключаем вывод в STDOUT
select($old_point);
close(PRIMER);

Perl отправка почты

###
$EMAIL="имя-ящика\@домен"; ### Электронная почта на которую отправить лог работы
$MAILS="тема $dat"; ### Тема сообщения + дата
###
`mail -s "$MAILS" $EMAIL < $log`; ### прикрепляемый файл (имя+путь)