Архив категории FreeBSD

Удаление файлов бэкапа старше 30 дней

25 Январь 2012

Иногда бывает необходимо удалить с сервера бэкапа файлы старше 30 дней — за ненадобностью оных.
Делаем так:

find /home/backup -name \*.tar.gz -mtime +30 -delete

Можно добавить эту строку в crontab

Алиас сетевого интерфейса на FreeBSD

7 Декабрь 2011

Для единоразового использования:

ifconfig em1 alias 1.2.3.4/24     # добавить
ifconfig em1 -alias 1.2.3.4/24   # убрать

Постоянно:

/etc/rc.conf
ifconfig_em1_alias0="inet 1.2.3.4 netmask 255.255.255.0"
ifconfig_em1_alias1="inet 1.2.3.5 netmask 255.255.255.0"

Отключение функций exec,passthru,shell_exec,system и пр. в PHP

4 Январь 2011

После установки apache peruser mpm-itk на сервер хостинга, безопасность возросла в разы. Однако, меня беспокоила возможность выполнять системные команды через php-скрипты, просматривать директории с помощью ls, видеть свои процессы (напомню: изначально на сервере в sysctl была включена опция, позволяющая пользователю просматривать ТОЛЬКО свои процессы). После прочтения документации к php.ini в интернетах, пришел к единому решению.

Читать полностью »

Как найти и убить зомби процесс

29 Ноябрь 2010

Зомби-процесс в unix-системах - дочерний процесс, завершивший своё выполнение, но ещё присутствующий в списке процессов операционной системы, чтобы дать родительскому процессу считать код завершения.

Читать полностью »

Установка ionCube Loader на FreeBSD

11 Сентябрь 2010

По просьбе клиентов установил на сервер хостинга ionCube Loader. Это PHP модуль необходимый для работы PHP-скриптов закодированных при помощи ionCube PHP Encoder. Аналогичен  Zend Optimizer’у.

Читать полностью »

Мониторим загрузку интернет-канала с помощью MRTG

4 Июнь 2010

Задался вопросом -  как видеть загрузку интернет-канала на сервере. Оказалось, с помощью демона SNMPD и MRTG все очень просто реализовывается.

Читать полностью »

Мониторим сервер с помощью phpSysInfo

1 Июнь 2010

Нашел в итернетах замечательную сборку php-скриптов для мониторинга состояния системы — phpSysInfo. Парсит информацию из /proc и выводит красивую веб-страничку с информацией о CPU, RAM, HDD, сети, аптайме и прочее прочее прочее..

Установка phpSysInfo очень проста. Качаем с офсайта, распаковываем в нужную директорию(у меня /var/www/html), переименовываем файл config.php.new в config.php и заходим браузером на сервер. Собсно все. Вот мой принт скрин:

IceCast: переполнение памяти

28 Май 2010

Я на своем хостинге предоставляю услугу трансляции Интернет-радио. Основа: сервер IceCast 2.3.2 под FreeBSD. Заметил за IceCast’oм одну неприятную вещь — долго работающий процесс айскаста начинает пожирать память в больших объемах. Причем забивая оперативную память, начинает кушать своп, пока оной не заканчивается. Тем более процессы айскаста у меня висят десятками(отдельный процесс на отдельный порт). Разработчики, вроде бы, обещают исправить пожирание памяти в версии 2.3.3, но на сайте пока доступен релиз 2.3.2 за 2008 год. В интернетах предлагают поставить icecast trunk из Subversion репозитория, где эту проблему уже пофиксили.

Снапшоты находятся здесь. Я качнул последний. Компиляция и установка стандартная:

# ./configure
# make
# make install

После инсталляции перезапустил все процессы айскаста и понаблюдал за ними. Вроде бы, проблема решилась. Кушает айскаст теперь не более 30 мб памяти на процесс.

Как проверить пустая директория или нет в shell скрипте

27 Май 2010

Писал скрипты автоматизации для сервера и долго страдал в раздумьях, как определить — пустая директория или нет. Стандартной команды для определения нет. В интернетах нашел самый простой способ:

#!/bin/bash
DIR="/path/to/directory"
if [[ -d "$DIR" && "$(ls -A $DIR)"  ]]
then
echo "Каталог присутствует и НЕ пустой"
else
echo "Каталог пустой или отсутствует"
fi

Добавил себе в заметки, думаю, еще не раз пригодится.

Памятка команд

21 Май 2010

netstat -an|grep tcp | wc -l #кол-во активных соединений tcp

netstat -an|grep udp | wc -l #кол-во активных соединений udp

systat -vmstat 1 # статистика по жестким дискам

systat -ifstat 1 # статистика по сетевым интерфейсам

zip -9 archive.zip file1 file2 file3 fle* # добавление файлов в zip-архив

top -SPH # запуск top с отображением загруженности отдельных ядер процессора

du -shc /home/* # просмотр размера home и домашних каталогов пользователей первого уровня

# pwd_mkdb -p /etc/master.passwd — обновить базу пользователей

# /usr/sbin/quotaoff -a; /sbin/quotacheck -avug; /usr/sbin/quotaon -a; — восстановление квот