<?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>wAdmin.ru &#187; Perl</title>
	<atom:link href="http://blog.wadmin.ru/tag/perl/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.wadmin.ru</link>
	<description>Записки сисадмина</description>
	<lastBuildDate>Sun, 05 Feb 2012 12:00:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Разбор лога поисковых запросов на Perl-е</title>
		<link>http://blog.wadmin.ru/2010/04/decode-search-request/</link>
		<comments>http://blog.wadmin.ru/2010/04/decode-search-request/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 06:52:04 +0000</pubDate>
		<dc:creator>Сергей Мариничев</dc:creator>
				<category><![CDATA[Инструменты]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://blog.wadmin.ru/?p=1060</guid>
		<description><![CDATA[Выплыла старая задача &#8211; разобрать текстовый лог на предмет фраз введенных в поисковых системах. После недолгих раздумий получился маленький скрипт на Perl-е. Использование. На вход ему подается файл isa_log.txt, на выходе имеем файл isa_log_decode.txt. #!/usr/bin/perl [...]]]></description>
			<content:encoded><![CDATA[<p>Выплыла старая задача &#8211; разобрать текстовый лог на предмет фраз введенных в поисковых системах.</p>
<p>После недолгих раздумий получился маленький скрипт на Perl-е.</p>
<p>Использование. На вход ему подается файл <strong>isa_log.txt</strong>, на выходе имеем файл <strong>isa_log_decode.txt</strong>.</p>
<div class="codesnip-container" >
<div class="perl codesnip" style="font-family:monospace;"><span class="co1">#!/usr/bin/perl</span></p>
<p><a href="http://perldoc.perl.org/functions/open.html"><span class="kw3">open</span></a> FILE<span class="sy0">,</span> <span class="st0">&quot;&lt;isa_log.txt&quot;</span><span class="sy0">;</span><br />
<a href="http://perldoc.perl.org/functions/open.html"><span class="kw3">open</span></a> WFILE<span class="sy0">,</span> <span class="st0">&quot;&gt;isa_log_decode.txt&quot;</span> <span class="kw1">or</span> <a href="http://perldoc.perl.org/functions/die.html"><span class="kw3">die</span></a> <span class="co5">$!</span><span class="sy0">;</span></p>
<p><span class="kw1">my</span> <span class="re0">@lines</span> <span class="sy0">=</span> <span class="re4">&lt;FILE&gt;</span><span class="sy0">;</span><br />
<span class="kw1">foreach</span> <span class="re0">$lines</span> <span class="br0">&#40;</span><span class="re0">@lines</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; <a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st0">&quot;$lines&quot;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$str</span> <span class="sy0">=</span> urldecode <span class="br0">&#40;</span><span class="re0">$lines</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> WFILE <span class="re0">$str</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<a href="http://perldoc.perl.org/functions/close.html"><span class="kw3">close</span></a> FILE<span class="sy0">;</span><br />
<a href="http://perldoc.perl.org/functions/close.html"><span class="kw3">close</span></a> WFILE<span class="sy0">;</span></p>
<p><span class="kw2">sub</span> urldecode <span class="br0">&#123;</span><br />
&nbsp; <span class="kw1">my</span><span class="br0">&#40;</span><span class="re0">$string</span><span class="br0">&#41;</span> <span class="sy0">=</span> <span class="co5">$_</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$string</span> <span class="sy0">=~</span> <span class="co2">s/\+/ /g</span><span class="sy0">;</span> &nbsp; &nbsp;</p>
<p>&nbsp; <span class="re0">$string</span> <span class="sy0">=~</span> <span class="co2">s/%([0-9a-fA-F][0-9a-fA-F])/pack(&quot;C&quot;,hex($1))/eg</span><span class="sy0">;</span> <br />
&nbsp; <span class="co1">#$string =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack(&quot;c&quot;,hex($1))/ge; </span></p>
<p>&nbsp; <a href="http://perldoc.perl.org/functions/return.html"><span class="kw3">return</span></a><span class="br0">&#40;</span><span class="re0">$string</span><span class="br0">&#41;</span><span class="sy0">;</span> &nbsp;<br />
<span class="br0">&#125;</span></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.wadmin.ru/2010/04/decode-search-request/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Бэкап svn репозитория на Gmail</title>
		<link>http://blog.wadmin.ru/2010/01/backup-folder-to-gmail-via-perl/</link>
		<comments>http://blog.wadmin.ru/2010/01/backup-folder-to-gmail-via-perl/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 12:58:17 +0000</pubDate>
		<dc:creator>Сергей Мариничев</dc:creator>
				<category><![CDATA[Инструменты]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://blog.wadmin.ru/?p=557</guid>
		<description><![CDATA[Получил некоторый заряд бодрости когда на домашнем ПК начал сыпаться диск. Немного подумав проверил бэкапы, перенес их свежие версии на DVD, осталось только понять что делать с локальным SVN репозиторием в котором хранятся все скрипты. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-808" title="Gmail_logo" src="http://blog.wadmin.ru/wp-content/uploads/2010/01/Gmail_logo.png" alt="" width="143" height="59" /></p>
<p>Получил некоторый заряд бодрости когда на домашнем ПК начал сыпаться диск. <img src='http://blog.wadmin.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Немного подумав проверил бэкапы, перенес их свежие версии на DVD, осталось только понять что делать с локальным SVN репозиторием в котором хранятся все скрипты.</p>
<p>Что делать&#8230; что делать..<br />
Отсылать по почте на Gmail. Благо ящик большой&#8230;</p>
<p>Отсылать вот таким скриптом на перле.</p>
<p>Поясню некоторые детали:<br />
<strong>$backup_source</strong> &#8211; папка где храниться то что надо резервировать<br />
<strong>$backup_folder</strong> &#8211; собственно то что резервируем</p>
<p>При использовании скрипта под windows необходимо только переписать пути.</p>
<div class="codesnip-container" >
<div class="perl codesnip" style="font-family:monospace;"><span class="co1">#!/usr/bin/perl -w</span><br />
<span class="kw2">use</span> strict<span class="sy0">;</span><br />
<span class="kw2">use</span> Archive<span class="sy0">::</span><span class="me2">Tar</span><span class="sy0">;</span><br />
<span class="kw2">use</span> File<span class="sy0">::</span><span class="me2">Find</span><span class="sy0">;</span><br />
<span class="kw2">use</span> MIME<span class="sy0">::</span><span class="me2">Lite</span><span class="sy0">;</span><br />
<span class="kw2">use</span> Net<span class="sy0">::</span><span class="me2">SMTP</span><span class="sy0">;</span></p>
<p><span class="kw2">sub</span> sendmail<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p><span class="kw1">my</span> <span class="re0">$email</span> <span class="sy0">=</span> <span class="st_h">&#8216;my.email@gmail.com&#8217;</span><span class="sy0">;</span><br />
<span class="kw1">my</span> <span class="re0">$message_from</span> <span class="sy0">=</span> <span class="st_h">&#8216;Backup Script &#8216;</span><span class="sy0">;</span><br />
<span class="kw1">my</span> <span class="re0">$message_body</span> <span class="sy0">=</span> <span class="st0">&quot;Here&#8217;s the attachment file(s) you wanted&quot;</span><span class="sy0">;</span></p>
<p><span class="kw1">my</span> <span class="re0">$smtp_server</span> <span class="sy0">=</span> <span class="st_h">&#8216;smtp.server.com&#8217;</span><span class="sy0">;</span><br />
<span class="kw1">my</span> <span class="re0">@archive_list</span><span class="sy0">;</span><br />
<span class="kw1">my</span> <span class="re0">$backup_source</span> <span class="sy0">=</span> <span class="st_h">&#8216;/home/user/bin/&#8217;</span><span class="sy0">;</span><br />
<span class="kw1">my</span> <span class="re0">$backup_folder</span> <span class="sy0">=</span> <span class="st_h">&#8216;svn&#8217;</span><span class="sy0">;</span><br />
<span class="kw1">my</span> <span class="re0">$tar_file</span> <span class="sy0">=</span> <span class="st_h">&#8216;/home/user/temp/gmailtar.tgz&#8217;</span><span class="sy0">;</span></p>
<p><a href="http://perldoc.perl.org/functions/chdir.html"><span class="kw3">chdir</span></a><span class="br0">&#40;</span><span class="re0">$backup_source</span><span class="br0">&#41;</span> <span class="sy0">||</span> <a href="http://perldoc.perl.org/functions/die.html"><span class="kw3">die</span></a> <span class="st0">&quot;cannot change directory ($!)&quot;</span><span class="sy0">;</span></p>
<p>find <span class="br0">&#40;</span><span class="kw2">sub</span> <span class="br0">&#123;</span> <a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a> <span class="re0">@archive_list</span><span class="sy0">,</span> <span class="re0">$File</span><span class="sy0">::</span><span class="me2">Find</span><span class="sy0">::</span><span class="me2">name</span> <span class="br0">&#125;</span><span class="sy0">,</span> <span class="re0">$backup_folder</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>Archive<span class="sy0">::</span><span class="me2">Tar</span><span class="sy0">-</span><span class="re0">&amp;gt</span><span class="sy0">;</span>create_archive<span class="br0">&#40;</span><span class="re0">$tar_file</span><span class="sy0">,</span> <span class="st0">&quot;9&quot;</span><span class="sy0">,</span> <span class="re0">@archive_list</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>sendmail<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p><a href="http://perldoc.perl.org/functions/unlink.html"><span class="kw3">unlink</span></a> <span class="br0">&#40;</span><span class="re0">$tar_file</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p><span class="kw2">sub</span> sendmail<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">my</span> <span class="re0">$msg</span> <span class="sy0">=</span> MIME<span class="sy0">::</span><span class="me2">Lite</span><span class="sy0">-</span><span class="re0">&amp;gt</span><span class="sy0">;</span>new<span class="br0">&#40;</span>To <span class="sy0">=</span><span class="re0">&amp;gt</span><span class="sy0">;</span> <span class="re0">$email</span><span class="sy0">,</span><br />
Subject <span class="sy0">=</span><span class="re0">&amp;gt</span><span class="sy0">;</span> <span class="st0">&quot;Backup email&quot;</span><span class="sy0">,</span><br />
From <span class="sy0">=</span><span class="re0">&amp;gt</span><span class="sy0">;</span> <span class="re0">$message_from</span><span class="sy0">,</span><br />
Type <span class="sy0">=</span><span class="re0">&amp;gt</span><span class="sy0">;</span> <span class="st0">&quot;multipart/mixed&quot;</span> <span class="br0">&#41;</span> <span class="kw1">or</span> <a href="http://perldoc.perl.org/functions/die.html"><span class="kw3">die</span></a> <span class="st0">&quot;Error creating multipart container: $!<span class="es0">\n</span>&quot;</span><span class="sy0">;</span></p>
<p><span class="re0">$msg</span><span class="sy0">-</span><span class="re0">&amp;gt</span><span class="sy0">;</span>attach <span class="br0">&#40;</span><br />
Type <span class="sy0">=</span><span class="re0">&amp;gt</span><span class="sy0">;</span> <span class="st_h">&#8216;TEXT&#8217;</span><span class="sy0">,</span><br />
Data <span class="sy0">=</span><span class="re0">&amp;gt</span><span class="sy0">;</span> <span class="re0">$message_body</span><br />
<span class="br0">&#41;</span> <span class="kw1">or</span> <a href="http://perldoc.perl.org/functions/die.html"><span class="kw3">die</span></a> <span class="st0">&quot;Error adding the text message part: $!<span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
<span class="re0">$msg</span><span class="sy0">-</span><span class="re0">&amp;gt</span><span class="sy0">;</span>attach<span class="br0">&#40;</span>Type <span class="sy0">=</span><span class="re0">&amp;gt</span><span class="sy0">;</span> <span class="st0">&quot;application/gzip&quot;</span><span class="sy0">,</span><br />
Path <span class="sy0">=</span><span class="re0">&amp;gt</span><span class="sy0">;</span> <span class="re0">$tar_file</span><span class="sy0">,</span><br />
Filename <span class="sy0">=</span><span class="re0">&amp;gt</span><span class="sy0">;</span> <span class="st0">&quot;backup.tgz&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="re0">$msg</span><span class="sy0">-</span><span class="re0">&amp;gt</span><span class="sy0">;</span>send<span class="br0">&#40;</span><span class="st_h">&#8216;smtp&#8217;</span><span class="sy0">,</span> <span class="re0">$smtp_server</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>Версию посвежее всегда можно найти в моем <a href="http://gitorious.org/gmail-backup">git репозитории</a>.</p>
<p>PS на следующей неделе буду переносить систему на новый диск&#8230; переставлять как то не хочется&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wadmin.ru/2010/01/backup-folder-to-gmail-via-perl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

