apt-get update
apt-get install smbfs smbclient
mkdir /media/backup
root@serv:/# cat /etc/fstab | grep backup
# /etc/fstab: static file system information.
# devices that works even if disks are added and removed. See fstab(5).
//192.168.0.250/backup /media/backup smbfs auto,user=backup,password=Passw0rd,iocharset=utf8,uid=777,umask=777,rw 0 0
mount -a
Отключаем переход на зимнее время в FreeBsd
ln -sf /usr/share/zoneinfo/Etc/GMT-4 /etc/localtime
Смотрим так-же…
Централизованный сбор логов с нескольких серверов SQUID
Задача:
Реализовать сбор почты с нескольких серверов squid и обработку lightsquid-ом в головном офисе.
Поехали.
Обработчик на филиале,запускается в 00:00 по крону
cat updater.pl
#!/usr/bin/perl
system («bzip2 -fk -9 /usr/local/squid/logs/access.log > /access.log.bz2»);
use Net::FTP;
$ftp = Net::FTP->new(«ftp.mycompanyserver.ru», Timeout => 30, Debug => 0) || die «Can’t connect to ftp server.n»;
$ftp->login(«squid», «passnasquid») || die «Can’t login to ftp server.n»;
$ftp->cwd(«filial1») || die «Path $cfg_remote_path not found on ftp server.n»;
$ftp->binary();
#$ftp->rename(«old»,»new»);
#iz filiala v golovnoy
$ftp->put(«/usr/local/squid/logs/access.log.bz2», «access.log.bz2»);
#Sinhronizacia iz golovnogo ofisa v filial
$ftp->get(«squid.conf», «/usr/local/etc/squid/squid.conf»);
$ftp->get(«blocked.txt», «/usr/local/etc/squid/blocked.txt»);
$ftp->get(«internet_users», «/usr/local/etc/squid/internet_users»);
$ftp->quit();
system(«/usr/local/sbin/squid -k rotate»);
Обработчик головного офиса:
Запускается по крону в 6 утра
# cat traffrotator.sh
#!/bin/sh
day=`date +%d`
month=`date +%m`
year=`date +%Y`
times=`date ‘+%H:%M:%S’`;
echo «=============================================================================================»
echo «START filial1»
chmod 666 /ftp/squid/filial1/*
log=»/ftp/squid/filial1/access.log.bz2″
log_dir_filial1=»/ftp/squid/arch/filial1/${year}/${month}»
log_file_filial1=»${log_dir_filial1}/${day}_${times}_auth.log»
mkdir -p ${log_dir_filial1}
if [ -f ${log} ] ;
then
echo «FIle is EXIST»
echo «UNZIPPED»
bunzip2 ${log}
echo «Start parsing filial1»
perl /var/www/corp/stat/filial1/lightparser.pl
echo «Movie arch file filial1»
mv /ftp/squid/filial1/access.log ${log_file_filial1}
else
echo -e ‘E[31;40m File Not Exist’; tput sgr0
sendEmail -t log@mail.server.ru -s mail.server.ru -u ERROR_SQUID_UPD_filial1 -m ERROR_UPDATE_FILE_NOT_FOUND -xu log@mail.server.ru -xp pass2mailserver -f log@mail.server.ru
fi
echo «END filial1»
echo «=============================================================================================»
echo «=============================================================================================»
echo «START filial2»
chmod 666 /ftp/squid/filial2/*
log=»/ftp/squid/filial2/access.log.bz2″
log_dir_filial2=»/ftp/squid/arch/filial2/${year}/${month}»
log_file_filial2=»${log_dir_filial2}/${day}_${times}_auth.log»
mkdir -p ${log_dir_filial2}
if [ -f ${log} ] ;
then
echo «FIle is EXIST»
echo «UNZIPPED»
bunzip2 ${log}
echo «Start parsing filial2»
perl /var/www/corp/stat/filial2/lightparser.pl
echo «Movie arch file filial2»
mv /ftp/squid/filial2/access.log ${log_file_filial2}
else
echo -e ‘E[31;40m File Not Exist’; tput sgr0
sendEmail -t log@mail.server.ru -s mail.server.ru -u ERROR_SQUID_UPD_filial2 -m ERROR_UPDATE_FILE_NOT_FOUND -xu log@mail.server.ru -xp pass2mailserver -f log@mail.server.ru
fi
echo «END filial2»
echo «=============================================================================================»
happy birthday
Макс!
Отче наш, иже еси в офиси!
Да будет жизнь сисадмина легка, и работа приятна,
Как светлый сон в начале рабочего дня.
Сбереги его от кактусов колючих и гнева начальственного,
Да отбудет оно в вечный отпуск.
Даруй сисадмину отгул в этот праздничный день
На весь месяц.
И сделай юзверей сисадмина умными и вежливыми,
Пиво дарящими и чай подносящими.
И избери из их рядов секретарш и бухгалтеров
Как вредный тип юзверей на перевоспитание.
Убереги сисадмина от сверхурочных
И даруй ему паб в серверной.
И будет он счастлив и благостен.
Во имя контрола, альта и всемогущего делета.
Резет!
С днюхой!
UPD
Я когда-нибуть честно перенесу свой блог на хостинг нормальный…. и разметку сделаю…. времени нетю ))) со статистики : уникальные посетители: 459 в день.
Этот блог прежде всего пишется для меня… я не обижаюсь что вы не пишите комменты… это означает что всё работает
Установка 1С 8.1 в связке с PostgreSQL на UBUNTU SERVER 10.10
cd /usr/local/src
wget http://wwwmaster.postgresql.org/redir/295/h/source/v8.4.1/postgresql-8.4.1.tar.gz
tar -xzvf postgresql-8.4.1.tar.gz
cd postgresql-8.4.1
mkdir patches
cd patches
wget http://v8.1c.ru/overview/postgresql_patches/8-4-1/1c_FULL_84-0.19.2.patch
wget http://v8.1c.ru/overview/postgresql_patches/8-4-1/postgresql-1c-8.4.patch
wget http://v8.1c.ru/overview/postgresql_patches/8-4-1/applock-1c-8.4.1.patch
aptitude install libreadline-dev zlib1g-dev libicu-dev patch unrar
ln -s /usr/lib/libicuio.so.42.1 /usr/lib/libicuio.so.34
ln -s /usr/lib/libicui18n.so.42.1 /usr/lib/libicui18n.so.34
patch -d .. -p0 <1c_FULL_84-0.19.2.patch
patch -d .. -p0 <applock-1c-8.4.1.patch
patch -d .. -p1 <postgresql-1c-8.4.patch
cd /usr/local/src/postgresql-8.4.1/src/interfaces/ecpg/preproc/
rm preproc.h
wget http://pg1c.ru/down/preproc.h
cd /usr/local/src/postgresql-8.4.1/src/backend/parser/
rm gram.h
wget http://pg1c.ru/down/gram.h
cd /usr/local/src/postgresql-8.4.1/
./configure —disable-integer-datetimes —prefix=/usr
make && make install
cd contrib
make && make install
mkdir /var/lib/pgsql
groupadd -g 5026 -o -r postgres
useradd -g postgres -o -r -d /var/lib/pgsql -s /bin/bash -c «PostgreSQL Server» -u 5026 postgres
chown postgres:postgres /var/lib/pgsql
Инициализация от пользователя postgres
su postgres
initdb -D /var/lib/pgsql/data
pg_ctl -D /var/lib/pgsql/data start
psql
password
q
pg_ctl -D /var/lib/pgsql/data stop
exit
Отредактируем pg_hba.conf
nano /var/lib/pgsql/data/pg_hba.conf
#host all all 127.0.0.1/32 trust // так было
host all postgres 127.0.0.1/32 md5 // так стало
nano /var/lib/pgsql/data/postgresql.conf
nano /etc/init.d/postgres
#!/bin/sh
case $1 in
restart)
sudo -u postgres -H /usr/bin/pg_ctl -D /var/lib/pgsql/data -l /var/lib/pgsql/data/pg.log stop
sudo -u postgres -H /usr/bin/pg_ctl -D /var/lib/pgsql/data -l /var/lib/pgsql/data/pg.log start
;;
start)
sudo -u postgres -H /usr/bin/pg_ctl -D /var/lib/pgsql/data -l /var/lib/pgsql/data/pg.log start
;;
stop)
sudo -u postgres -H /usr/bin/pg_ctl -D /var/lib/pgsql/data -l /var/lib/pgsql/data/pg.log stop
;;
*)
echo start|stop|restart
return 1;
;;
esac
chmod u+x /etc/init.d/postgres
update-rc.d postgres defaults
/etc/init.d/postgres start
netstat -atn|grep 5432
Забрасываем на сервер пакаги с 1с
dpkg -i *.deb
chown -R usr1cv81:grp1cv81 /opt/1C
update-rc.d srv1cv81 defaults
locale-gen en_US
locale-gen ru_RU
dpkg-reconfigure locales
/usr/init.d/srv1cv81 start
Использованы материалы http://pg1c.ru/?page_id=173
Настраиваем QEMU виртуализацию под консольным FreeBSD
Добрый день уважаемые Коллегы!
В данной статье я расскажу про настройку виртуальной машины под консольным FreeBSD.
Для простоты я не буду углубляться в подробности настроек.
Имеем: Сервер. FreeBSD 8.0-RELEASE. Порты обновлены. X не установлены.
Задача: Настроить дополнительно виртуальную машину на данном сервере.
Поехали:
Qemu ставим из портов.
cd /usr/ports/emulator/qemu
make -DWITH_KQEMU
make install clean
Включаем модуль акселерации и модуль асинхронного ввода-вывода:
kldload if_tap
kldload kqemu
kldload aio
Для автоматического подключения при загрузке добавляем в /boot/loader.conf
if_tap_load="YES"
kqemu_load="YES"
aio_load="YES"
На этом закончили с модулями ядра.
Поднимаем виртуальный сетевой интерфейс и мост для дальнейшего использования его на нашей виртуальной машине:
ifconfig tap0 create
ifconfig bridge0 create
ifconfig bridge0 addm em0 addm tap0 up
Чтобы мост создавался при загрузке, нужно добавить две строки в конфигурационный файл /etc/rc.conf:
cloned_interfaces="tap0 bridge0"
ifconfig_bridge0="addm em0 addm tap0 up"
Включаем автоматическое поднятие интерфейса tap0
sysctl net.link.tap.up_on_open=1
Разрешаем непривилегированному пользователю соединяться с интерфейсом tap0
sysctl net.link.tap.user_open=1
Чтобы эти переменные инициализировалась при загрузке, нужно добавить строки в конфигурационный файл /etc/sysctl.conf:
net.link.tap.up_on_open=1
net.link.tap.user_open=1
Разрешаем непривилегированному пользователю открывать устройство /dev/tap0
chmod 666 /dev/tap0
Файлы устройств пересоздаются каждый раз при загрузке системы, поэтому права доступа на файл после перезагрузки вернутся в исходное состояние (600). Поэтому следует задавать права доступа к устройству не через chmod, а через правила devfs. Для этого нужно добавить строку в конфигурационный файл /etc/devfs.conf:
perm tap0 0666
Создаем диск:
qemu-img create /data/windows.img 14096M
Стартуем
qemu -localtime -m 512 -boot d -cdrom /home/distrib/xp.iso -hda /data/windows.img -name "Windows" -vnc 192.168.0.2:1
Где 192.168.0.2 ip сервера.
Подключаемся удаленно к 192.168.0.2 через vnc и ставим ОС
Ну и, наконец, запускаем Windows.
qemu -localtime -m 512 -boot c -hda /data/windows.img -name "Windows" -net nic,macaddr=52:54:00:12:34:56 -net tap,ifname=tap0 -vnc 192.168.0.2:1&
Настраиваем FTP сервер с авторизацией в MySql
Имеем: Установленную машину с freebsd и поднятым Apache + MySQL
В пред постах всё есть
cd /usr/ports/ftp/pure-ftpd
make config
[x] MySQL
[x] PRIVSEP
[x] PERUSERLIMITS
[x] Throttling
make install clean
echo 'pureftpd_enable="YES"' >> /etc/rc.conf
cd /usr/local/etc
cp pure-ftpd.conf.sample pure-ftpd.conf
ee pure-ftpd.conf
Расскоменнтируем секцию# MySQL configuration file (see README.MySQL)
MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf
mysql -u root -p
INSERT INTO mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES('127.0.0.1','ftp',PASSWORD('password'),'Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N');
FLUSH PRIVILEGES;
CREATE DATABASE ftpusers;
USE ftpusers;
CREATE TABLE admin (Username varchar(35) NOT NULL default '',Password char(32) binary NOT NULL default '',PRIMARY KEY (Username))TYPE=MyISAM;
INSERT INTO admin VALUES ('Administrator',MD5('password'));
CREATE TABLE `users` (
`User` varchar(16) NOT NULL default '',
`Password` varchar(32) binary NOT NULL default '',
`Uid` int(11) NOT NULL default '14',
`Gid` int(11) NOT NULL default '5',
`Dir` varchar(128) NOT NULL default '',
`QuotaFiles` int(10) NOT NULL default '500',
`QuotaSize` int(10) NOT NULL default '30',
`ULBandwidth` int(10) NOT NULL default '80',
`DLBandwidth` int(10) NOT NULL default '80',
`Ipaddress` varchar(15) NOT NULL default '*',
`Comment` tinytext,
`Status` enum('0','1') NOT NULL default '1',
`ULRatio` smallint(5) NOT NULL default '1',
`DLRatio` smallint(5) NOT NULL default '1',
PRIMARY KEY (`User`),
UNIQUE KEY `User` (`User`)
) TYPE=MyISAM;
INSERT INTO users VALUES ('web',MD5('webpassuser'),65534, 31, '/usr/local/www', 100, 50, 75, 75, '*', 'www', '1', 0, 0);
Выходим из sql
cd /usr/local/www/ftpadmin
fetch "http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz"tar -xvzf ftp_v2.1.tar.gz
cd ftp
chown www config.php
идем на веб и-фейс
проходим 7 шагов. получаем готовый /usr/local/etc/pureftpd-mysql.conf
Сохраняем его.
Запускаем /usr/local/etc/rc.d/pure-ftpd.sh start
Все
Переполнение /var/spool/clientmqueue в FreeBSD
1. Отключить sendmail в /etc/rc.conf
sendmail_enable="NONE"
cp /etc/defaults/periodic.conf /etc/periodic.conf
2. Меняем значение следующих опций с root на /dev/null
# cat /etc/periodic.conf|grep _output
daily_output="root" # user or /file
daily_status_security_output="root" # user or /file
weekly_output="root" # user or /file
monthly_output="root" # user or /file
3. cd /var/spool/clientmqueue
find . -delete
Полезные команды Freebsd
Как узнать размер папок в nix системах?
Размер папок:
du -hsx /
размер одной папки
du -hsx /var
Показ размера всех папок в конкретной папке.
du -h -d 1 /var
Как упаковать файлы в архив?
Запаковываем:
tar -zcf [название_архива] [что_хочешь_упаковать_включая_папки]
пример:
tar -zcf blabla.tgz /home/blabla.ru
Распаковать:
tar -zxf [название_архива]
пример:
tar -zxf blabla.tgz