<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Записки на полях &#187; Linux</title>
	<atom:link href="http://snake.khd.ru/category/rabota/linux-rabota/feed/" rel="self" type="application/rss+xml" />
	<link>http://snake.khd.ru</link>
	<description>Логи начинающего сисадмина</description>
	<lastBuildDate>Sat, 21 Aug 2010 03:27:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Скрипт для обработки записей asterisk</title>
		<link>http://snake.khd.ru/2010/06/skript-dlya-obrabotki-zapisej-asterisk/</link>
		<comments>http://snake.khd.ru/2010/06/skript-dlya-obrabotki-zapisej-asterisk/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 03:52:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=404</guid>
		<description><![CDATA[Немного поправил сам скрипт, теперь файлы раскидываются в папки вида &#8220;имя_месяца/число&#8221; независимо от того, под каким пользователем запускается скрипт. Можнадокому.


#!/bin/bash
#20100611 - Author: Gregg Hansen. Modified by Snake
#version 0.5
#http://www.khd.ru
#Make sure to install Lame and copy mlame to your .wav dir
#If you specify your own filenames, use NO spaces.
recorddir=&#34;/var/spool/asterisk/monitor&#34;
for i in `ls $recorddir/*.wav`; do
month=`ls -l --time-style +'%b [...]]]></description>
			<content:encoded><![CDATA[<p>Немного поправил сам скрипт, теперь файлы раскидываются в папки вида &#8220;имя_месяца/число&#8221; независимо от того, под каким пользователем запускается скрипт. Можнадокому.<br />
<span id="more-404"></span></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;">#20100611 - Author: Gregg Hansen. Modified by Snake</span>
<span style="color: #666666; font-style: italic;">#version 0.5</span>
<span style="color: #666666; font-style: italic;">#http://www.khd.ru</span>
<span style="color: #666666; font-style: italic;">#Make sure to install Lame and copy mlame to your .wav dir</span>
<span style="color: #666666; font-style: italic;">#If you specify your own filenames, use NO spaces.</span>
<span style="color: #007800;">recorddir</span>=<span style="color: #ff0000;">&quot;/var/spool/asterisk/monitor&quot;</span>
<span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #007800;">$recorddir</span><span style="color: #000000; font-weight: bold;">/*</span>.wav<span style="color: #000000; font-weight: bold;">`</span>; <span style="color: #000000; font-weight: bold;">do</span>
<span style="color: #007800;">month</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> <span style="color: #660033;">--time-style</span> +<span style="color: #ff0000;">'%b %d'</span> <span style="color: #007800;">$i</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $6}'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">day</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> <span style="color: #660033;">--time-style</span> +<span style="color: #ff0000;">'%b %d'</span> <span style="color: #007800;">$i</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $7}'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">mp3</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$i</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;_&quot;</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span>- <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s/.wav/.mp3/g'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #c20cb9; font-weight: bold;">lame</span> <span style="color: #660033;">-d</span> <span style="color: #660033;">-h</span> <span style="color: #660033;">-m</span> j <span style="color: #660033;">-b</span> <span style="color: #000000;">128</span> <span style="color: #007800;">$i</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$mp3</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${recorddir}</span>/<span style="color: #007800;">${month}</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;
    <span style="color: #000000; font-weight: bold;">then</span>    
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${recorddir}</span>/<span style="color: #007800;">${month}</span>/<span style="color: #007800;">${day}</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;
            <span style="color: #000000; font-weight: bold;">then</span>
                <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${mp3}</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${month}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${day}</span>
            <span style="color: #000000; font-weight: bold;">else</span>
                <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${month}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${day}</span>
                <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${mp3}</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${month}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${day}</span>
        <span style="color: #000000; font-weight: bold;">fi</span>
    <span style="color: #000000; font-weight: bold;">else</span> 
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${month}</span>
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${month}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${day}</span>
        <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${mp3}</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${month}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${day}</span>
<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #666666; font-style: italic;">#Uncomment the below line if you want your .wavs moved to a different directory.</span>
<span style="color: #666666; font-style: italic;">#This way you can review the timestamps and mp3 files before deleting the .wav</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span>wav_recordings
<span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #007800;">$i</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span>wav_recordings<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/06/skript-dlya-obrabotki-zapisej-asterisk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux и zfs</title>
		<link>http://snake.khd.ru/2010/06/linux-i-zfs/</link>
		<comments>http://snake.khd.ru/2010/06/linux-i-zfs/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 23:33:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[zfs]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=388</guid>
		<description><![CDATA[Пропустил хорошую новость. Допилен модуль для ядра Linux, реализующий нативную поддержку zfs. Пока работает только для x64 сборки, но думаю, за x86 дело не станет.
Теперь можно держать файловый архив в zfs и не бояться перехода на freebsd или соляру.
]]></description>
			<content:encoded><![CDATA[<p>Пропустил хорошую <a href="http://habrahabr.ru/blogs/linuxnotforall/95186/#habracut">новость</a>. Допилен модуль для ядра Linux, реализующий нативную поддержку zfs. Пока работает только для x64 сборки, но думаю, за x86 дело не станет.<br />
Теперь можно держать файловый архив в zfs и не бояться перехода на freebsd <s>или соляру</s>.</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/06/linux-i-zfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian linux gpg error</title>
		<link>http://snake.khd.ru/2010/06/debian-linux-gpg-error/</link>
		<comments>http://snake.khd.ru/2010/06/debian-linux-gpg-error/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 00:06:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=384</guid>
		<description><![CDATA[Нужно тут было обновить репозиторий на debian-машине. А он мне вот что:

W: GPG error: ftp://ftp.debian.org/ testing Release: 
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 010908312D230C5F
&#160;
W: There is no public key available for the following key IDs:
010908312D230C5F

Решение, в общем-то, тривиальное, и ищется в гугле секунд за тридцать. Но пусть [...]]]></description>
			<content:encoded><![CDATA[<p>Нужно тут было обновить репозиторий на debian-машине. А он мне вот что:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">W: GPG error: <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>ftp.debian.org<span style="color: #000000; font-weight: bold;">/</span> testing Release: 
The following signatures couldn<span style="color: #ff0000;">'t be verified because the public key is not available: NO_PUBKEY 010908312D230C5F
&nbsp;
W: There is no public key available for the following key IDs:
010908312D230C5F</span></pre></div></div>

<p>Решение, в общем-то, тривиальное, и ищется в гугле секунд за тридцать. Но пусть будет:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">debian<span style="color: #666666; font-style: italic;"># gpg --keyserver subkeys.pgp.net --recv-keys 2D230C5F</span>
debian<span style="color: #666666; font-style: italic;"># gpg -a --export 2D230C5F | sudo apt-key add -</span></pre></div></div>

<p>Есть еще один нюанс &#8211; тот самый дебиан стоял под XenServer, так что придется скачать еще и ключи для Xen:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-q</span> http:<span style="color: #000000; font-weight: bold;">//</span>updates.vmd.citrix.com<span style="color: #000000; font-weight: bold;">/</span>XenServer<span style="color: #000000; font-weight: bold;">/</span>5.5.0<span style="color: #000000; font-weight: bold;">/</span>GPG-KEY <span style="color: #660033;">-O-</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">apt-key</span> add -</pre></div></div>

<p>Ну вот теперь точно все. Можно с чистой совестью делать apt-get update</p>
<p>P.S. Если обновление не происходит, а адреса репозитория резолвятся в ipv6-адреса, смените в /etc/apt/sources.list адрес источника обновлений на</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">deb http:<span style="color: #000000; font-weight: bold;">//</span>ftp.us.debian.org<span style="color: #000000; font-weight: bold;">/</span>debian<span style="color: #000000; font-weight: bold;">/</span> lenny main
deb-src http:<span style="color: #000000; font-weight: bold;">//</span>ftp.us.debian.org<span style="color: #000000; font-weight: bold;">/</span>debian<span style="color: #000000; font-weight: bold;">/</span> lenny main</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/06/debian-linux-gpg-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Настройка печати в Linux из Samba</title>
		<link>http://snake.khd.ru/2010/05/nastrojka-pechati-v-linux-iz-samba/</link>
		<comments>http://snake.khd.ru/2010/05/nastrojka-pechati-v-linux-iz-samba/#comments</comments>
		<pubDate>Fri, 07 May 2010 02:50:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cups]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[samba]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=359</guid>
		<description><![CDATA[Да, это просто. Наверное. Но если принтер подключен к виндовой машине и просто расшарен, то могут возникнуть проблемы.
1. Ставим CUPS c поддержкой SMB (samba-client-cups)
2. Скачиваем дрова на ваш принтер, устанавливаем
3. Добавляем принтер. В настройках подключения будет что-то типа smb://root@192.168.0.1/CanonMF
4. Далее стандартно &#8211; выбираем вашу модель и наслаждаемся. 
Нюанс был именно в пятом третьем пункте &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Да, это просто. Наверное. Но если принтер подключен к виндовой машине и просто расшарен, то могут возникнуть проблемы.<br />
1. Ставим CUPS c поддержкой SMB (samba-client-cups)<br />
2. Скачиваем дрова на ваш принтер, устанавливаем<br />
3. Добавляем принтер. В настройках подключения будет что-то типа smb://root@192.168.0.1/CanonMF<br />
4. Далее стандартно &#8211; выбираем вашу модель и наслаждаемся. </p>
<p>Нюанс был именно в <s>пятом</s> третьем пункте &#8211; если просто написать адрес машины, ничего не заработает.</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/05/nastrojka-pechati-v-linux-iz-samba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Дело о найденом бубне. Часть 1</title>
		<link>http://snake.khd.ru/2010/05/delo-o-najdenom-bubne-chast-1/</link>
		<comments>http://snake.khd.ru/2010/05/delo-o-najdenom-bubne-chast-1/#comments</comments>
		<pubDate>Wed, 05 May 2010 03:54:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=352</guid>
		<description><![CDATA[Как-то от нехер делать решил снести винду и перейти на более свободное ПО. В качестве такового была выбрана убунта 9.10, которая тут же была обновлена до 10.04 (ну влом мне было качать образ, а потом еще и писать его). Теперь, собственно, о:
1) Оно реально шустро работает :) нет ощущения неповоротливости, которое возникало при работе с [...]]]></description>
			<content:encoded><![CDATA[<p>Как-то от <s>нехер делать</s> решил снести винду и перейти на более свободное ПО. В качестве такового была выбрана убунта 9.10, которая тут же была обновлена до 10.04 (ну влом мне было качать образ, а потом еще и писать его). Теперь, собственно, о:<br />
1) Оно реально шустро работает :) нет ощущения неповоротливости, которое возникало при работе с &#8220;семеркой&#8221;<br />
2) Дрова на видео встали в два клика (у меня карточка от NVIDIA).<br />
3) Компиз запустился с полпинка &#8211; красивая штука, однако :)<br />
4) Проигрывание HD Video &#8211; MPlayer + VDPau. Загрузка проца процентов 10 и ниже, все обрабатывается видеокартой, ремукс &#8220;Аватара&#8221; в 1080р ничуть не уступает таковому в винде<br />
5) Аудио &#8211; Audacious однозначно. Во-первых, русские кодировки искаропки, во-вторых, WinAmp style, в третьих &#8211; простота (ну влом мне было разбираться с mpd). Правда, в версии 2.3 вырезали скробблер last.fm, но я просто скачал исходники плагинов версии 2.2 и собрал вручную (только надо поставить dev-пакет audacious)</p>
<p>Дальше будет больше, надо полагать) Ну а в целом &#8211; я доволен. Поиск нужного приложения в пакетах &#8211; крайне полезная штука, но об этом я знал еще давно</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/05/delo-o-najdenom-bubne-chast-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Уроки русского. Ubuntu, rdesktop и русская раскладка</title>
		<link>http://snake.khd.ru/2010/04/uroki-russkogo-ubuntu-rdesktop-i-russkaya-raskladka/</link>
		<comments>http://snake.khd.ru/2010/04/uroki-russkogo-ubuntu-rdesktop-i-russkaya-raskladka/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 05:47:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rdesktop]]></category>
		<category><![CDATA[rdp]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=340</guid>
		<description><![CDATA[Имеем: терминальный сервер на вин2008, убунту 9.10
Проблема: при работе в RDP сессии раскладка не преключается, или при переключении наблюдаются глюки в виде неработающих стрелок, кнопок б,ю и т.д.
Одно из решений:

 сначала по заветам товарищей ставим патченную версию rdesktop:
для x86
или x86-64
нажимаем

sudo dpkg -r rdesktop
sudo dpkg -i rdesktop_1.6.0-alt1*
cd /usr/lib
sudo ln -s libcrypto.so.0.9.8 libcrypto.so.6

и подключаемся:

rdesktop -5 -z -y [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Имеем</strong>: терминальный сервер на вин2008, убунту 9.10<br />
<strong>Проблема</strong>: при работе в RDP сессии раскладка не преключается, или при переключении наблюдаются глюки в виде неработающих стрелок, кнопок б,ю и т.д.<br />
<strong>Одно из решений</strong>:<br />
<span id="more-340"></span><br />
 сначала по <a href="http://habrahabr.ru/blogs/ubuntu/28264/" target="_blank">заветам товарищей</a> ставим патченную версию rdesktop:</p>
<p><a href="http://sys-admin.org/files1/rdesktop/rdesktop_1.6.0-alt1_i386.deb">для x86</a><br />
или <a href="http://sys-admin.org/files1/rdesktop/rdesktop_1.6.0-alt1_amd64.deb">x86-64</a></p>
<p>нажимаем</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">dpkg</span> <span style="color: #660033;">-r</span> rdesktop
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">dpkg</span> <span style="color: #660033;">-i</span> rdesktop_1.6.0-alt1<span style="color: #000000; font-weight: bold;">*</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> libcrypto.so.0.9.8 libcrypto.so.6</pre></div></div>

<p>и подключаемся:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">rdesktop <span style="color: #660033;">-5</span> <span style="color: #660033;">-z</span> <span style="color: #660033;">-y</span> <span style="color: #660033;">-u</span> пользователь <span style="color: #660033;">-p</span> пароль <span style="color: #660033;">-g</span> разрешениеxэкрана IP_удаленного_компьютера</pre></div></div>

<p>главная опция &#8220;-y&#8221; &#8211; она говорит использовать raw клавиатуру</p>
<p>Кому-то помогает, кому-то нет. Мне не помогло, а потому продолжаем поиски :)<br />
Следующее средство найдено было на форуме убунты:</p>
<p>Меняем содержимое файлов /usr/share/rdesktop/keymaps/ru и /usr/share/rdesktop/keymaps/en-us на следущее:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># generated from XKB map ru</span>
include common
map 0x419
grave 0x29
asciitilde 0x29 <span style="color: #7a0874; font-weight: bold;">shift</span>
asciicircum 0x07 <span style="color: #7a0874; font-weight: bold;">shift</span>
backslash 0x2b
bar 0x2b <span style="color: #7a0874; font-weight: bold;">shift</span>
apostrophe 0x28
greater 0x34 <span style="color: #7a0874; font-weight: bold;">shift</span>
<span style="color: #c20cb9; font-weight: bold;">less</span> 0x33 <span style="color: #7a0874; font-weight: bold;">shift</span></pre></div></div>

<blockquote><p>В итоге, все кнопки работают и в русской и в английской раскладке что в патченной версии, что в оригинальной. Причем, можно не указывать в параметрах запуска ключ -k с англицкой раскладкой, все работает и с русской раскладкой тоже. Ключ -y указывать НЕ НАДО!! Проверено на терминалах Win2k3 Server и на XP со вторым паком.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/04/uroki-russkogo-ubuntu-rdesktop-i-russkaya-raskladka/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Проблемы с частотой обновления экрана в Ubuntu 9.10</title>
		<link>http://snake.khd.ru/2010/04/problemy-s-chastotoj-obnovleniya-ekrana-v-ubuntu-9-10/</link>
		<comments>http://snake.khd.ru/2010/04/problemy-s-chastotoj-obnovleniya-ekrana-v-ubuntu-9-10/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 12:39:47 +0000</pubDate>
		<dc:creator>onion</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nVidia]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[монитор]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=334</guid>
		<description><![CDATA[автор: Onion
Установив намедни Ubuntu 9.10, столкнулся с очень неприятной проблемой:
Частота обновления экрана не поднималась выше 60-ти герц. Впрочем, ниже тоже не опускалась. Проблема плоха тем, что очень сильно устают глаза и работать более 10 минут крайне тяжело.
Монитор у меня старый &#8211; LG Flatron F700B, но поддерживает частоту 85 герц. Видеокарта &#8211; 8600й GeForce.
Я, естественно, сразу [...]]]></description>
			<content:encoded><![CDATA[<p>автор: Onion<br />
Установив намедни Ubuntu 9.10, столкнулся с очень неприятной проблемой:<br />
Частота обновления экрана не поднималась выше 60-ти герц. Впрочем, ниже тоже не опускалась.<span id="more-334"></span> Проблема плоха тем, что очень сильно устают глаза и работать более 10 минут крайне тяжело.<br />
Монитор у меня старый &#8211; LG Flatron F700B, но поддерживает частоту 85 герц. Видеокарта &#8211; 8600й GeForce.<br />
Я, естественно, сразу обновил драйверы для видюхи, благо, nVidia их выпускает и под линукс. Но эффекта никакого это действие не возымело.<br />
Тогда я перещел к ковырянию файла xorg.conf, проживающего по адресу: /etc/X11/. Выглядел он зело странно, отсутсвовала секция Section &#8220;Monitor&#8221;, которая-то и представляла интерес. &#8220;Ага, вот откуда ноги растут!&#8221;, &#8211; подумал я и добавил эту самую секцию туда, включив туда нужные параметры(какие именно &#8211; скажу позже). Перезгрузился &#8211; и, о чудо!, ничего не изменилось. &#8220;Хм&#8221;, &#8211; подумал я и начал ковырять дальше. Как только я не изголялся, как только не пытался сделать все как надо, но ничего не работало.<br />
Тогда я решил просто переустановить линух. Да, вот так кардинально &#8211; сказывается довольно долгий опыт общения с виндой:)) Сама собой проблема, естественно, не исправилась.<br />
Сразу решил разобраться с xorg.conf, не устанавливая дрова. Открываю папку постоянного обитания этого злосчастного файла и не обнаруживаю его там. Следующая моя мысль &#8211; надо перезаписать логи и переконфигурировать иксы(как это делается мне ответил гугл):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>Xorg.0.log <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>Xorg.1.log
<span style="color: #c20cb9; font-weight: bold;">sudo</span> Xorg <span style="color: #660033;">-configure</span> :<span style="color: #000000;">1</span></pre></div></div>

<p>и в домашнем каталоге моего пользователя появился файл xorg.conf.new. Он был довольно большой и полный, но секция &#8220;Монитор&#8221; была убогой. Нужные мне параметры я получил командой:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">gtf <span style="color: #000000;">1024</span> <span style="color: #000000;">768</span> <span style="color: #000000;">85</span></pre></div></div>

<p>1024 768 &#8211; это разрешение, 85 &#8211; это частота обновления. Ответ выглядел как-то так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">  <span style="color: #666666; font-style: italic;"># 1024x768 @ 85.00 Hz (GTF) hsync: 68.60 kHz; pclk: 94.39 MHz</span>
  Modeline <span style="color: #ff0000;">&quot;1024x768_85.00&quot;</span>  <span style="color: #000000;">94.39</span>  <span style="color: #000000;">1024</span> <span style="color: #000000;">1088</span> <span style="color: #000000;">1200</span> <span style="color: #000000;">1376</span>  <span style="color: #000000;">768</span> <span style="color: #000000;">769</span> <span style="color: #000000;">772</span> <span style="color: #000000;">807</span>  - HSync +Vsync</pre></div></div>

<p>Дальше гуглим параметры HorizSync и VertRefresh для своего монитора.<br />
Потом объединяем результаты наших трудов в этой секции. Она принимает вид примерно такой:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Section <span style="color: #ff0000;">&quot;Monitor&quot;</span>
	Identifier   <span style="color: #ff0000;">&quot;Monitor0&quot;</span>
	VendorName   <span style="color: #ff0000;">&quot;Monitor Vendor&quot;</span>
  	ModelName      <span style="color: #ff0000;">&quot;LG F700B&quot;</span>
        HorizSync       <span style="color: #000000;">30.0</span> - <span style="color: #000000;">71.0</span>
        VertRefresh     <span style="color: #000000;">50.0</span> - <span style="color: #000000;">160.0</span>
	Modeline <span style="color: #ff0000;">&quot;1024x768_85.00&quot;</span>  <span style="color: #000000;">94.39</span>  <span style="color: #000000;">1024</span> <span style="color: #000000;">1088</span> <span style="color: #000000;">1200</span> <span style="color: #000000;">1376</span>  <span style="color: #000000;">768</span> <span style="color: #000000;">769</span> <span style="color: #000000;">772</span> <span style="color: #000000;">807</span>  <span style="color: #660033;">-HSync</span> +Vsync
EndSection</pre></div></div>

<p>Перезагружаемся и все работает как надо. Вот теперь можно приступить к дальнейшей настройке системы. Следующий шаг &#8211; это установка драйверов. Я обновился из репозитория через утилиту Synaptic. Проблем с этим не возникло вообще никаких. И уже после установки видеодрайверов все работало отлично. Утилита nVidia X Server Settings порадовала обилием поддерживаемых режимов, чем не могла порадовать в прошлый раз.<br />
Таким образом, весьма расространенная(судя по обилию вопросов на форумах) проблема с частотой обновления экрана оказалось не такой уж и нерешаемой.</p>
<p>P.S. выложил свою версию решения данной проблемы с описанием всех моих действий. На идеальность решения не претендую.</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/04/problemy-s-chastotoj-obnovleniya-ekrana-v-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Шаманы в зазеркалье: поднимаем зеркало Ubuntu под FreeBSD</title>
		<link>http://snake.khd.ru/2010/04/shamany-v-zazerkale-podnimaem-zerkalo-ubuntu-pod-freebsd/</link>
		<comments>http://snake.khd.ru/2010/04/shamany-v-zazerkale-podnimaem-zerkalo-ubuntu-pod-freebsd/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 07:29:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[debmirror]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[зеркало]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=320</guid>
		<description><![CDATA[Имея небольшую локалку, некоторое количество пользователей-линуксоидов и довольно тощий канал в инет, разумно было бы поднять свое зеркало репозитария Убунты, чтобы пользователи лишний раз не лазили куда не надо. Удобнее всего зеркало умеет делать сам линукс &#8211; буквально в пару команд. Но из серверов в наличии имеется только FreeBSD версии 7.2 &#8211; не смертельно конечно, [...]]]></description>
			<content:encoded><![CDATA[<p>Имея небольшую локалку, некоторое количество пользователей-линуксоидов и довольно тощий канал в инет, разумно было бы поднять свое зеркало репозитария Убунты, чтобы пользователи лишний раз не лазили куда не надо. Удобнее всего зеркало умеет делать сам линукс &#8211; буквально в пару команд. Но из серверов в наличии имеется только FreeBSD версии 7.2 &#8211; не смертельно конечно, но повозиться придется чуть дольше.<br />
<span id="more-320"></span><br />
Перво-наперво определяемся с местом &#8211; у меня зеркало для двух версий (9.04 и 9.10) заняло около 80 гигов. Затем ставим нужные пакеты:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>p5-libwww
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>devel<span style="color: #000000; font-weight: bold;">/</span>p5-LockFile-Simple
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>archivers<span style="color: #000000; font-weight: bold;">/</span>p5-IO-Compress-Base
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>archivers<span style="color: #000000; font-weight: bold;">/</span>p5-Compress-Zlib<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>archivers<span style="color: #000000; font-weight: bold;">/</span>p5-Compress-Raw-Zlib<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>archivers<span style="color: #000000; font-weight: bold;">/</span>p5-IO-Compress-Zlib
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>security<span style="color: #000000; font-weight: bold;">/</span>p5-Digest-SHA1
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>security<span style="color: #000000; font-weight: bold;">/</span>p5-MD5
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>net<span style="color: #000000; font-weight: bold;">/</span>p5-URI
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>security<span style="color: #000000; font-weight: bold;">/</span>gnupg</pre></div></div>

<p>После это качаем исходники скрипта debmirror <a href="http://archive.ubuntu.com/ubuntu/pool/universe/d/debmirror/debmirror_20070123ubuntu3.tar.gz">отсюда</a>. </p>
<p>Качаем, распаковываем &#8211; в линуксе его можно установить, у меня он работает и без этого &#8211; достаточно просто знать, куда мы его распаковали. После этого готовим специальный скрипт:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>snake<span style="color: #000000; font-weight: bold;">/</span>debmirror <span style="color: #660033;">--progress</span> <span style="color: #660033;">--verbose</span> \
<span style="color: #660033;">--cleanup</span> <span style="color: #660033;">--nosource</span> <span style="color: #660033;">--md5sums</span> <span style="color: #660033;">--host</span>=mirror.yandex.ru \
<span style="color: #660033;">--root</span>=ubuntu <span style="color: #660033;">--ignore-release-gpg</span> \
<span style="color: #660033;">--dist</span>=jaunty,jaunty-security,jaunty-updates,jaunty-backports, \
karmic,karmic-security,karmic-updates,karmic-backports 
<span style="color: #660033;">--section</span>=main,restricted,universe,multiverse <span style="color: #660033;">--method</span>=http \ 
<span style="color: #660033;">--arch</span>=i386,amd64  <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>media4<span style="color: #000000; font-weight: bold;">/</span>ubuntu</pre></div></div>

<p>Кратко поясню:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># --arch         #Архитектура. Может быть i386, powerpc или amd64.</span>
<span style="color: #666666; font-style: italic;"># --section=    # Секция (main/restricted/universe/multiverse). Как минимум main, restricted</span>
<span style="color: #666666; font-style: italic;"># --dist=        # Релиз (кодовое название, а так же опции security, updates, backports</span>
<span style="color: #666666; font-style: italic;"># --host=       # Имя сервера</span>
<span style="color: #666666; font-style: italic;"># --root=       # Папка на сервере (обычно /ubuntu)</span>
<span style="color: #666666; font-style: italic;"># --method=   # Протокол для передачи (http, ftp, hftp, rsync)</span>
<span style="color: #666666; font-style: italic;"># /mnt/media4/ubuntu      # Директория с зеркалом</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># --nosource      #не качает deb-src пакеты, существенно экономит место</span>
<span style="color: #666666; font-style: italic;"># --progress       #показывает процесс скачивания</span>
<span style="color: #666666; font-style: italic;"># --cleanup        #удаляет устаревшие пакеты</span>
<span style="color: #666666; font-style: italic;"># --verbose        #показывает подробные ошибки</span>
<span style="color: #666666; font-style: italic;"># --ignore-release-gpg  # не проверять gpg подпись скачиваемых пакетов. </span>
<span style="color: #666666; font-style: italic;"># Почему-то не отключается, и получать gpg ключ все равно приходится. </span>
<span style="color: #666666; font-style: italic;"># Как получить - написано ниже.</span>
<span style="color: #666666; font-style: italic;"># --md5sums          # Проверять md5 хэши скачиваемых пакетов</span></pre></div></div>

<p>Если при запуске скрипта вываливается вот такая ошибка:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">gpgv: keyblock resource <span style="color: #000000; font-weight: bold;">`/</span>root<span style="color: #000000; font-weight: bold;">/</span>.gnupg<span style="color: #000000; font-weight: bold;">/</span>trustedkeys.gpg<span style="color: #ff0000;">': general error
gpgv: Signature made Срд 22 Апр 2009 21:35:26 UTC using DSA key ID 437D05B5
[GNUPG:] ERRSIG 40976EAF437D05B5 17 2 00 1240436126 9
[GNUPG:] NO_PUBKEY 40976EAF437D05B5
gpgv: Can'</span>t check signature: public key not found</pre></div></div>

<p>То выполняем вот такую команду:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">snake<span style="color: #000000; font-weight: bold;">@</span>snake <span style="color: #7a0874; font-weight: bold;">&#91;</span>~<span style="color: #000000; font-weight: bold;">/</span>.gnupg<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># gpg --keyserver keyserver.ubuntu.com -a --no-default-keyring </span>
<span style="color: #660033;">--keyring</span> trustedkeys.gpg <span style="color: #660033;">--recv-keys</span> <span style="color: #000000; font-weight: bold;">&lt;</span>key ID<span style="color: #000000; font-weight: bold;">&gt;</span></pre></div></div>

<p>Где <key ID> берем из ошибки. Получившийся файлик копируем в папку ~/.gnupg/</p>
<p>Когда все файлы обновлений скачаются, следует открыть доступ к папке с зеркалом через http и/или ftp, например так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>media4<span style="color: #000000; font-weight: bold;">/</span>ubuntu <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>ubuntu</pre></div></div>

<p>Добавим наш скрипт в cron. Для этого в файл /etc/crontab добавим:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000;">30</span>      <span style="color: #000000;">4</span>       <span style="color: #000000; font-weight: bold;">*</span>       <span style="color: #000000; font-weight: bold;">*</span>       <span style="color: #000000;">7</span>       root    <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>snake<span style="color: #000000; font-weight: bold;">/</span>umirror.sh</pre></div></div>

<p>Наше зеркало будет обновлять раз в неделю в 4.30 утра &#8211; пакеты обновляются не так уж часто, а в случае чего-то критического никто не мешает запустить обновление вручную.</p>
<p>Далее остаются сущие мелочи &#8211; настроить клиента:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apt
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mv</span> sources.list sources.list.orig
<span style="color: #c20cb9; font-weight: bold;">sudo</span> mcedit sources.list
deb http:<span style="color: #000000; font-weight: bold;">//</span>snake.khd.ru<span style="color: #000000; font-weight: bold;">/</span>ubuntu karmic main restricted universe multiverse
deb http:<span style="color: #000000; font-weight: bold;">//</span>snake.khd.ru<span style="color: #000000; font-weight: bold;">/</span>ubuntu karmic-updates main restricted universe multiverse
deb http:<span style="color: #000000; font-weight: bold;">//</span>snake.khd.ru<span style="color: #000000; font-weight: bold;">/</span>ubuntu karmic-security main restricted universe multiverse
deb http:<span style="color: #000000; font-weight: bold;">//</span>snake.khd.ru<span style="color: #000000; font-weight: bold;">/</span>ubuntu karmic-backports main restricted universe multiverse</pre></div></div>

<p>После этого пользователи должны вообще забыть о существовании удаленных репозиториев &#8211; разве что для какой-то экзотики.</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/04/shamany-v-zazerkale-podnimaem-zerkalo-ubuntu-pod-freebsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Обработка записей Asterisk</title>
		<link>http://snake.khd.ru/2010/03/obrabotka-zapisej-asterisk/</link>
		<comments>http://snake.khd.ru/2010/03/obrabotka-zapisej-asterisk/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 06:38:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[shell-скрипты]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=268</guid>
		<description><![CDATA[Имеется &#8211; папка с записями asterisk где-то за год &#8211; где-то гигов на 30. Т.к. астериск все пишет в wav, хорошо бы это дело переконвертировать в mp3, да еще и рассортировать по дате, для удобства поиска нужного звонка. После пары минут гугления был найден искомый скрипт, но он был рабочий только наполовину, поэтому пришлось допиливать [...]]]></description>
			<content:encoded><![CDATA[<p>Имеется &#8211; папка с записями asterisk где-то за год &#8211; где-то гигов на 30. Т.к. астериск все пишет в wav, хорошо бы это дело переконвертировать в mp3, да еще и рассортировать по дате, для удобства поиска нужного звонка. После пары минут гугления был найден искомый скрипт, но он был рабочий только наполовину, поэтому пришлось допиливать ручками. Вот что получилось в итоге<br />
<span id="more-268"></span></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;">#20100503 - Author: Gregg Hansen. Modified by Snake</span>
<span style="color: #666666; font-style: italic;">#version 0.2</span>
<span style="color: #666666; font-style: italic;">#Сначала убедитесь в том, что у вас стоит пакет lame</span>
<span style="color: #666666; font-style: italic;">#Папка с записями разговоров</span>
<span style="color: #007800;">recorddir</span>=<span style="color: #ff0000;">&quot;/var/spool/asterisk/monitor&quot;</span>
<span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #007800;">$recorddir</span><span style="color: #000000; font-weight: bold;">/*</span>.wav<span style="color: #000000; font-weight: bold;">`</span>; <span style="color: #000000; font-weight: bold;">do</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$recorddir</span>
<span style="color: #666666; font-style: italic;">#Шаблон даты</span>
<span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">date</span></span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> <span style="color: #007800;">$i</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $6}'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #666666; font-style: italic;">#Шаблон часов</span>
<span style="color: #007800;">hour</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> <span style="color: #007800;">$i</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $7}'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">mp3</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$i</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s/.wav/.mp3/g'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #666666; font-style: italic;">#Собственно само кодирование. Опции lame выбрать по вкусу</span>
<span style="color: #c20cb9; font-weight: bold;">lame</span> <span style="color: #660033;">-d</span> <span style="color: #660033;">-h</span> <span style="color: #660033;">-m</span> j <span style="color: #660033;">-b</span> <span style="color: #000000;">128</span> <span style="color: #007800;">$i</span> <span style="color: #007800;">$mp3</span>
<span style="color: #666666; font-style: italic;">#Сортировка будет происходить по дням, а внутри дня - по времени начала разговора</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #800000;">${date}</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$recorddir</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${date}</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #800000;">${hour}</span>
<span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #800000;">${mp3}</span> <span style="color: #800000;">${hour}</span>
<span style="color: #666666; font-style: italic;">#wav файлы перемещаются в отдельную директорию, на всякий случай.</span>
<span style="color: #666666; font-style: italic;">#В дальнейшем можно будет просто периодически очищать эту директорию</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span>wav_recordings
<span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #007800;">$i</span> <span style="color: #800000;">${recorddir}</span><span style="color: #000000; font-weight: bold;">/</span>wav_recordings<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></div></div>

<p>На выходе мы вместо кучи файлов получаем аккуратные папочки с датами. Скрипт лучше всего засунуть в cron и запускать каждые сутки.</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/03/obrabotka-zapisej-asterisk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>#!/bin/bash для чайников:))</title>
		<link>http://snake.khd.ru/2009/10/binbash-dlya-chajnikov/</link>
		<comments>http://snake.khd.ru/2009/10/binbash-dlya-chajnikov/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 15:04:31 +0000</pubDate>
		<dc:creator>onion</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[shell-скрипты]]></category>
		<category><![CDATA[stargazer]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=132</guid>
		<description><![CDATA[Многие пользователи часто сталкиваются с выполнением рутинных операций. Будь то каждодневное монтирование диска при запуске системы или запуск приложения с одними и теми же параметрами. Все эти операции можно с легкостью выполнить множеством способов.
В рамках данного мануала я покажу один из способов автоматизации рутинных операций с помощью shell-скриптов на примере конкретной задачи. Но для начала [...]]]></description>
			<content:encoded><![CDATA[<p>Многие пользователи часто сталкиваются с выполнением рутинных операций. Будь то каждодневное монтирование диска при запуске системы или запуск приложения с одними и теми же параметрами. Все эти операции можно с легкостью выполнить множеством способов.<br />
В рамках данного мануала я покажу один из способов автоматизации рутинных операций с помощью shell-скриптов на примере конкретной задачи.<span id="more-132"></span> Но для начала немного теории.</p>
<p>Итак, что же такое shell-скрипты и как их поставить себе на вооружение?</p>
<p>Shell &#8212; это командная оболочка. Но еще это и мощный язык программирования. Программы на языке shell называют сценариями, или скриптами. Для использования в скриптах доступен полный набор команд, утилит и программ UNIX и плюс внутренние команды shell &#8212; условные операторы, операторы циклов и пр., которые увеличивают мощь и гибкость сценариев. </p>
<p>Структуру скрипта можно описать в семи словах следующим образом: «вызов командного интерпретатора — тело скрипта — завершение скрипта». Пишутся скрипты с помощью  любого текстового редактора, сохраняются они как текстовые файлы. Но, чтобы было удобнее, я сохраняю их с расширением «*.sh». Но давайте посмотрим на все это на примере конкретной задачи.</p>
<p>Итак, постановка задачи. Есть приложение, которое требуется запускать с довольно большим набором параметров. Запускать придется часто, а каждый раз вводить эти параметры лень:)) Чтоб было нагляднее, посмотрим, как выглядит это действие:</p>
<p><em>/home/Admin/soft/sgconf/sgconf -s 10.10.10.1 -p 5555 -a Admin -w 112233 -u user -c 100</em></p>
<p>Что же делает эта команда? Вкратце опишу ситуацию. Есть сервер, раздающий интернет пользователям. Пользователи сидят в инете  по цене n рублей за мегабайт. Когда средства на балансе заканчиваются, юзеры приносят деньги, администратор начисляет их им на баланс и пользователи могут снова сидеть в инете за n руб/метр. Сервер находится по адресу  10.10.10.1, порт сервера — 5555, администратора зовут Admin, его пароль — 112233. Требуется на пользователя user положить 100 рублей.  Первые 4 параметра — адрес и порт сервера, логин и пароль администратора будут неизменными, а последние два — имя юзера и сумма платежа буду каждый раз разными. Соответственно, нам нет нужды каждый раз вводить 4 неизменных параметра, можно жестко прописать их в теле скрипта, а последние 2 — у нас будут переменными.</p>
<p>Приступим непосредственно к написанию скрипта.</p>
<p>Что же должен делать скрипт? Считывать две переменные(назовем их «user» и «cash»), подставлять их в параметры запуска и запускать приложение. В принципе, все, но так как разработчиками приложения не были предусмотрены некоторые полезные функции, мы можем сами добавить их. Например, мне было бы очень удобно, если бы у меня велся лог пополнений баланса.</p>
<p>Открываем текстовый редактор и пишем код.</p>
<p>Первым делом нам нужен вызов интерпретатора. Для данного скрипта будем использовать интерпретатор bash.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span></pre></div></div>

<p>Далее добавим небольшое описание того, что требуется сделать пользователю. Вывод текста осуществляется командой echo. Параметром данной команды является сам текст, который нужно вывести. Пользователь вводит значение переменной, которую считывает оператор read. Параметром этой команды является имя переменной, значение которой задает пользователь. Выглядит это так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">--------</span> sgconf.sh v <span style="color: #000000;">0.1</span> <span style="color: #660033;">--------</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> Имя пользователя:
&nbsp;
	<span style="color: #c20cb9; font-weight: bold;">read</span> user
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> Сумма платежа:
&nbsp;
	<span style="color: #c20cb9; font-weight: bold;">read</span> cash
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">---------------------------------</span></pre></div></div>

<p>Первая и последняя строки добавлены для удобства пользователя, чтобы было видно, где начинается выполнение скрипта.<br />
Этого кода достаточно, чтобы скрипт выполнял свою основную задачу — запуск приложения с параметрами. Добавим эту операцию с учетом введенных переменных:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>soft<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf <span style="color: #660033;">-s</span> 10.10.10.1 <span style="color: #660033;">-p</span> <span style="color: #000000;">5555</span> <span style="color: #660033;">-a</span> Admin <span style="color: #660033;">-w</span> <span style="color: #000000;">112233</span> <span style="color: #660033;">-u</span> <span style="color: #007800;">$user</span> <span style="color: #660033;">-c</span> <span style="color: #007800;">$cash</span></pre></div></div>

<p>Обратите внимание, что вызов переменной обозначается знаком «<strong>$</strong>», т.е если имя переменной указано со знаком $, то мы обращаемся к ее значению.</p>
<p>Все, теперь нам не нужно каждый раз запускать программу с длиннющими параметрами. Запускаем скрипт, вводим имя плательщика, платеж и все. Но мы договорились еще и вести логи. Займемся решением этой задачи.</p>
<p>Логи у нас будут лежать в виде файла sgconf.log, находящимся в удобной для нас папке. Что нужно для ведения нормальных логов? Во-первых — отметка о выполненной операции, во-вторых — время, когда эта операция была выполнена. Наша операция — это платеж, проведенный на имя пользователя. То есть запись будет иметь следующий формат:</p>
<blockquote><p>Баланс пользователя &#8220;$user&#8221; пополнен на &#8220;$cash&#8221; рублей в $time</p></blockquote>
<p>И если с переменными $user и $cash мы уже разобрались, то откуда берется значение переменной time? </p>
<p>В консоли линукса есть очень полезный оператор, который показывает нам точное время. Вот это точное время мы и будем использовать в качестве значения переменной time. Делается это просто:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;"><span style="color: #000000; font-weight: bold;">time</span></span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span><span style="color: #000000; font-weight: bold;">`</span></pre></div></div>

<p>То есть переменная определяется как результат, возвращаемый оператором date.</p>
<p>Теперь разберемся с записью файла sgconf.log. Если он уже существует, то в конце добавим новую запись, если нет — то создадим его и внесем туда данные о нашей операции.</p>
<p>Текст, который будем вносить в логи будет таким:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">text</span>=<span style="color: #ff0000;">&quot;Баланс пользователя &quot;</span><span style="color: #007800;">$user</span><span style="color: #ff0000;">&quot; пополнен на &quot;</span><span style="color: #007800;">$cash</span><span style="color: #ff0000;">&quot; рублей в <span style="color: #007800;">$time</span>&quot;</span></pre></div></div>

<p>Переменная text меняется в зависимости от переменных user, cash и time</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log <span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">then</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log 
&nbsp;
	<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log
&nbsp;
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Проверка условия производится с помощью конструкции <em>if — then — else — fi</em>. Если выполняется условие, заданное в квадратных скобках, то выполняем один код, если это условие не выполняется — другой, затем заканчиваем проверку.</p>
<p>Конструкция <em>[ -e /home/Admin/scripts/sgconf/sgconf.log ]</em><br />
  &#8211; это проверка существования файла /home/Admin/scripts/sgconf/sgconf.log, об этом говорит операция <strong>-e</strong>: если файл существует, она возвращает значение true и выполняется код  <em>echo $text &gt;&gt; /home/Admin/scripts/sgconf/sgconf.log</em>. Если он не существует — то код <em>echo $text &gt; /home/Admin/scripts/sgconf/sgconf.log</em> В первом случае мы добавляем значение переменной text в конец файла(это делается с помощью символа « <strong>&gt;&gt;</strong> »), во втором случае — мы записываем значение text в новый файл(« <strong>&gt;</strong> »).</p>
<p>Все, теперь завершаем наш скрипт командой <em>exit</em>.<br />
Сохраняем код в любое удобное место под именем «sgconf.sh» и пользуемся.</p>
<p>Полный код скрипта выглядит так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!bin/bash</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#************************************************#</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#                  sgconf.sh                     #</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#           autor: Sergey Kondrashov             #</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#                 10 25, 2009                    #</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#                                                #</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#    how to use sgconfig without hemorrhoids     #</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#************************************************#</span>
&nbsp;
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">--------</span> sgconf.sh v <span style="color: #000000;">0.1</span> <span style="color: #660033;">--------</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> Имя пользователя:
&nbsp;
	<span style="color: #c20cb9; font-weight: bold;">read</span> user
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> Сумма платежа:
&nbsp;
	<span style="color: #c20cb9; font-weight: bold;">read</span> cash
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">---------------------------------</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>soft<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf <span style="color: #660033;">-s</span> 10.10.10.1 <span style="color: #660033;">-p</span> <span style="color: #000000;">5555</span> <span style="color: #660033;">-a</span> Admin <span style="color: #660033;">-w</span> <span style="color: #000000;">112233</span> <span style="color: #660033;">-u</span> <span style="color: #007800;">$user</span> <span style="color: #660033;">-c</span> <span style="color: #007800;">$cash</span>
&nbsp;
<span style="color: #007800;"><span style="color: #000000; font-weight: bold;">time</span></span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #007800;">text</span>=<span style="color: #ff0000;">&quot;Баланс пользователя &quot;</span><span style="color: #007800;">$user</span><span style="color: #ff0000;">&quot; пополнен на &quot;</span><span style="color: #007800;">$cash</span><span style="color: #ff0000;">&quot; рублей в <span style="color: #007800;">$time</span>&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log <span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">then</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log 
&nbsp;
	<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log
&nbsp;
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span></pre></div></div>

<p>Теперь, когда нам нужно положить кому-нибудь денежку, мы запускаем скрипт командой «sh sgconf.sh», вводим имя плательщика и сумму платежа. Никаких длинных строчек, никакой головной боли с постоянным вводом одних и тех же значений.</p>
<p>Но на этом я не остановился. Мне показалось неудобным то, что функционал программы предусматривает гораздо больше операций, нежели просто пополнение баланса. Коды этих операций передаются программе так же с помощью параметров. А используя приведенный выше способ, мне пришлось бы писать отдельный скрипт под каждую операцию, что было бы не слишком удобно. Выход очевиден: запуск скрипта с параметрами, которые будут переданы программе. Делается это еще проще, чем то, что мы сделали раньше.</p>
<p>За считывание параметров запуска отвечает переменная &#8220;@&#8221;. То есть, если мы запускаем скрипт с параметрами, они будут сохранены в эту переменную:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sh</span> sgconf.sh <span style="color: #660033;">-u</span> user <span style="color: #660033;">-c</span> <span style="color: #000000;">100</span></pre></div></div>

<p>Теперь мы просто подставим значение этой переменной в команду, выполняемую скриптом:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>soft<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf <span style="color: #660033;">-s</span> 10.10.10.1 <span style="color: #660033;">-p</span> <span style="color: #000000;">5555</span> <span style="color: #660033;">-a</span> Admin <span style="color: #660033;">-w</span> <span style="color: #000000;">112233</span> <span style="color: #ff0000;">&quot;$@&quot;</span></pre></div></div>

<p>Все! Согласитесь, это куда более удобно, чем то, что было раньше.</p>
<p>Дальше нам нужно подправить ведение логов. Для этого просто редактируем переменную text:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">text</span>=<span style="color: #ff0000;">&quot;$@&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$time</span>&quot;</span></pre></div></div>

<p>Таким образом, мы сможем в логах видеть не только имя плательщика, и сумму денег, внесенную им, но и код операции, будь то платеж или кредит и т.д.</p>
<p>Полный код второй версии скрипта выглядит так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!bin/bash</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#************************************************#</span>
<span style="color: #666666; font-style: italic;">#                  sgconf.sh                     #</span>
<span style="color: #666666; font-style: italic;">#           autor: Sergey Kondrashov             #</span>
<span style="color: #666666; font-style: italic;">#                 10 25, 2009                    #</span>
<span style="color: #666666; font-style: italic;">#                                                #</span>
<span style="color: #666666; font-style: italic;">#    how to use sgconfig without hemorrhoids     #</span>
<span style="color: #666666; font-style: italic;">#************************************************#</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> sgconf.sh v <span style="color: #000000;">0.2</span>
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>Admin<span style="color: #000000; font-weight: bold;">/</span>soft<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf <span style="color: #660033;">-s</span> 10.10.10.1 <span style="color: #660033;">-p</span> <span style="color: #000000;">5555</span> <span style="color: #660033;">-a</span> Admin <span style="color: #660033;">-w</span> <span style="color: #000000;">112233</span> <span style="color: #ff0000;">&quot;$@&quot;</span>
<span style="color: #007800;"><span style="color: #000000; font-weight: bold;">time</span></span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">text</span>=<span style="color: #ff0000;">&quot;$@&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$time</span>&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>onion<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log <span style="color: #7a0874; font-weight: bold;">&#93;</span>
	<span style="color: #000000; font-weight: bold;">then</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>onion<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log 
	<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$text</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>onion<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>sgconf<span style="color: #000000; font-weight: bold;">/</span>sgconf.log
<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #7a0874; font-weight: bold;">exit</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2009/10/binbash-dlya-chajnikov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
