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

четверг, 22 апреля 2010 г.

Полный бэкап Linux системы

Для начала заходим в консоль из под рута, затем идём в корень системы и соответственно тарим все данные:

sudo su
cd /
tar jcvpf sys_backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/sys_backup.tar.bz2 --exclude=/mnt --exclude=/sys /


Если выполнять в screen то можно мониторить состояние в другом окне
watch -d -n2 "ls -sh | sort -r"

потом сливаем файл куда надо и спим спокойно.

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

Samba это не совсем танец

доп. инфа. http://www.osp.ru/lan/2000/03/130995/_p1.html
http://linux.yaroslavl.ru/docs/serv/samba/samba_conf.html
http://interface31.ru/tech_it/2010/03/sozdanie-fajlovogo-servera-na-ubuntu-910.html


#======================= Global Settings =====================================
[global]
;include = /usr/local/samba/lib/smb.conf.%m
workgroup = ALTEK
netbios name = baff01
server string = baff01


security = user
encrypt passwords = yes
;unix password sync = yes


hosts allow = 192.168.0. 127.0.0.1
interfaces = 127.0.0.1/255.255.255.0 192.168.0.1/255.255.255.0


log file = /var/log/samba/log.%m
max log size = 10
log level = 1


os level = 255
local master = yes
preferred master = yes
;domain master = no
;domain logons = yes


name resolve order = lmhosts host wins bcast


;logon script = %m.bat
;logon script = %U.bat
logon path = \\%L\Profiles\%U


;wins support = yes
dns proxy = no


socket options = TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=16384 SO_RCVBUF=16384




;load printers = yes
;printcap name = /etc/printcap
;printcap name = lpstat
;printing = cups

#============================ Share Definitions ==============================
[homes]
comment = Only for YOU
browseable = no
writable = yes
hide dot files = yes
valid users = %S
create mask = 0644
directory mask = 0755


[1C-Bases]
comment = Allow all user
path = /home/shares/1C-Bases
writeable = yes
create mask = 0777
directory mask = 0777


[Documents]
comment = Allow all user
path = /home/shares/Documents
writeable = yes
create mask = 0777
directory mask = 0777

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`; ### прикрепляемый файл (имя+путь)