<?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; asterisk</title>
	<atom:link href="http://snake.khd.ru/tag/asterisk/feed/" rel="self" type="application/rss+xml" />
	<link>http://snake.khd.ru</link>
	<description>cat /var/log/messages</description>
	<lastBuildDate>Sun, 05 Feb 2012 11:22:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Bash: Пробелы в именах файлов</title>
		<link>http://snake.khd.ru/2011/03/bash-probely-v-imenax-fajlov/</link>
		<comments>http://snake.khd.ru/2011/03/bash-probely-v-imenax-fajlov/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 01:35:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=726</guid>
		<description><![CDATA[При использовании скрипта для asterisk, вылезла одна проблема &#8211; если в имени файла есть пробелы или другие спецсимволы (типа двоеточия), файл не обрабатывался. Краткий гуглеж привел к следующему #!/bin/bash #20110330 - Author: Gregg Hansen. Modified by Snake #version 0.8 #http://snake.khd.ru #Make sure to install Lame and copy mlame to your .wav dir #If you specify <a href='http://snake.khd.ru/2011/03/bash-probely-v-imenax-fajlov/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>При использовании <a href="http://snake.khd.ru/2010/06/skript-dlya-obrabotki-zapisej-asterisk/">скрипта для asterisk</a>, вылезла одна проблема &#8211; если в имени файла есть пробелы или другие спецсимволы (типа двоеточия), файл не обрабатывался. Краткий гуглеж привел к следующему<br />
<span id="more-726"></span></p>
<pre lang = "bash">
#!/bin/<a href="http://snake.khd.ru/tag/bash/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  bash">bash</a>
#20110330 - Author: Gregg Hansen. Modified by Snake
#version 0.8
#http://snake.khd.ru
#Make sure to install Lame and copy mlame to your .wav dir
#If you specify your own filenames, use NO spaces.
recorddir="/var/spool/<a href="http://snake.khd.ru/tag/asterisk/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  asterisk">asterisk</a>/monitor"
find ${recorddir} -name '*.wav' | grep in -v | grep out -v | while read i; do
month=`ls -l --time-style +'%b %d' "$i" | awk '{print $6}'`
day=`ls -l --time-style +'%b %d' "$i" | awk '{print $7}'`
mp3=`echo "$i" | cut -d "_" -f 2- | sed 's/.wav/.mp3/g' | sed 's/ /_/g' | sed 's/:/_/g'`
echo $mp3
lame -d -h -m j -b 128 "${i}" ${recorddir}/$mp3
if [ -d "${recorddir}/${month}" ];
    then
        if [ -d "${recorddir}/${month}/${day}" ];
            then
                mv ${recorddir}/${mp3} ${recorddir}/${month}/${day}
            else
                mkdir ${recorddir}/${month}/${day}
                mv ${recorddir}/${mp3} ${recorddir}/${month}/${day}
        fi
    else
        mkdir ${recorddir}/${month}
        mkdir ${recorddir}/${month}/${day}
        mv ${recorddir}/${mp3} ${recorddir}/${month}/${day}
fi
#mv ${recorddir}/${mp3} ${recorddir}/${month}/${day}
#Uncomment the below line if you want your .wavs moved to a different directory.
#This way you can review the timestamps and mp3 files before deleting the .wav
#mkdir ${recorddir}/wav_recordings
rm -f $i
done
</pre>
<p>Теперь все ок <img src='http://snake.khd.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://posix.ru/shell/bash_and_sed" target=_blank>пруф</a></p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2011/03/bash-probely-v-imenax-fajlov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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 <a href='http://snake.khd.ru/2010/06/skript-dlya-obrabotki-zapisej-asterisk/'>[...]</a>]]></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>Обработка записей 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, да еще и рассортировать по дате, для удобства поиска нужного звонка. После пары минут гугления был найден искомый скрипт, но он был рабочий только наполовину, поэтому пришлось допиливать <a href='http://snake.khd.ru/2010/03/obrabotka-zapisej-asterisk/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Имеется &#8211; папка с записями <a href="http://snake.khd.ru/tag/asterisk/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  asterisk">asterisk</a> где-то за год &#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;">date</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>
	</channel>
</rss>

