<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Perl выборка данных.</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7888.html</link>
    <description>Приветствую здешних обитателей.&lt;br&gt;Нужна помощь людей дружащих с perl&lt;br&gt;Есть такая бяка:&lt;br&gt;http://joxi.ru/aBGaU_3JTJC9PQdgcIQ&lt;br&gt;Отсюда нужно выбирать некоторые параметры, а именно CPU, MEM, IP и PORT (числовые значения), данные получаются командой&lt;br&gt;top -n 1 -b -c ....&lt;br&gt;Собственно на стандартными средствами лини получать не удается, т.к может отличаться строка запуска.&lt;br&gt;Собственно, необходимо что-бы параметры CPU и MEM (9 и 10 столбцы) записывались в текстовый файл, к примеру с названием вида IP:PORT.txt(etc)&lt;br&gt;&lt;br&gt;Печеньки гарантирую)&lt;br&gt;&lt;br&gt;Текстовик с выводом top&lt;br&gt;http://rghost.ru/56344231&lt;br&gt;&lt;br&gt;</description>

<item>
    <title>Perl выборка данных. (pxel)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7888.html#9</link>
    <pubDate>Wed, 08 Oct 2014 20:48:14 GMT</pubDate>
    <description>&amp;gt; Проблема оказалась в другом, вывод top через крон обрезался, без вывода нужной &lt;br&gt;&amp;gt; инфы.&lt;br&gt;&lt;br&gt;ps?&lt;br&gt;</description>
</item>

<item>
    <title>Perl выборка данных. (fire002)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7888.html#8</link>
    <pubDate>Thu, 19 Jun 2014 19:04:48 GMT</pubDate>
    <description>Проблема оказалась в другом, вывод top через крон обрезался, без вывода нужной инфы.&lt;br&gt;</description>
</item>

<item>
    <title>Perl выборка данных. (михалыч)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7888.html#7</link>
    <pubDate>Thu, 19 Jun 2014 17:09:10 GMT</pubDate>
    <description>&amp;gt; #!/usr/bin/perl -w&lt;br&gt;&amp;gt; use strict;&lt;br&gt;&amp;gt; use warnings;&lt;br&gt;&lt;br&gt;масло масляное, ключ -w и прагма use warnings; - суть одно и тоже (показывать предупреждения),&lt;br&gt;оставьте что-либо одно&lt;br&gt;&lt;br&gt;&amp;gt; open F, &quot;/usr/bin/top -n 1 -b -c &#092;&amp;#124; /bin/grep &apos;hlds_&apos; &#092;&amp;#124; /bin/grep &lt;br&gt;&amp;gt; -v &apos;SCREEN&apos; &#092;&amp;#124; /bin/grep -v &apos;/bin/sh&apos;&amp;#124;&quot; or die &quot;error: $!&quot;;&lt;br&gt;&lt;br&gt;куча грепов, grep -v grep забыли ))&lt;br&gt;&lt;br&gt;можно чуть дополнить мой примерчик из поста, что выше&lt;br&gt;&#091;code&#093;while (&amp;lt;FH&amp;gt;) &#123;&lt;br&gt;    next unless /hlds_&#091;il&#093;/;&lt;br&gt;    s/^&#092;s+//;&lt;br&gt;    my &#064;s = split /&#092;s+/, $_;&lt;br&gt;    ($cpu, $mem) = ($s&#091;8&#093;, $s&#091;9&#093;);&lt;br&gt;    if (/port&#092;s+(&#092;d+)&#092;s+&#092;+ip&#092;s+(&#091;&#092;d&#092;.&#093;+)&#092;s+/) &#123;$port = $1; $ip = $2;&#125;&lt;br&gt;    open  FT, &quot;&amp;gt;&quot;, &quot;$ip:$port.txt&quot;;&lt;br&gt;    print FT &quot;$cpu $mem&#092;n&quot;;&lt;br&gt;    close FT;&lt;br&gt;&#125;&#091;/code&#093;&lt;br&gt;то есть, отдать на откуп perl самому grep&apos;ать то, что нужно&lt;br&gt;&lt;br&gt;или так&lt;br&gt;&#091;code&#093;while (&amp;lt;FH&amp;gt;) &#123;&lt;br&gt;    s/^&#092;s+//;&lt;br&gt;    my &#064;s = split /&#092;s+/, $_;&lt;br&gt;    ($cpu, $mem) = ($s&#091;8&#093;, $s&#091;9&#093;);&lt;br&gt;    if (/port&#092;s+(&#092;d+)&#092;s+&#092;+ip&#092;s+(&#091;&#092;d&#092;.&#093;+)&#092;s+/) &#123;&lt;br&gt;        $port = $1; $ip = $2;&lt;br&gt;        open  FT, &quot;&amp;gt;&quot;, &quot;$ip:$port.txt&quot;;&lt;br&gt;       </description>
</item>

<item>
    <title>Perl выборка данных. (fire002)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7888.html#6</link>
    <pubDate>Wed, 18 Jun 2014 21:01:40 GMT</pubDate>
    <description>Собственно, скрипт уже написан и работает(почти).&lt;br&gt;#!/usr/bin/perl -w&lt;br&gt;use strict;&lt;br&gt;use warnings;&lt;br&gt;my $put = &quot;/home/stat/&quot;;&lt;br&gt;open FF, &quot;/bin/cat /proc/meminfo &#092;&amp;#124; /usr/bin/head -1 &#092;&amp;#124; /usr/bin/awk &apos;&#123;print &#092;$2&#125;&apos;&amp;#124;&quot;;&lt;br&gt;&amp;lt;FF&amp;gt;=~/(&#092;d+)/;&lt;br&gt; my $m = $1/1024;&lt;br&gt; close FF;&lt;br&gt;open F, &quot;/usr/bin/top -n 1 -b -c &#092;&amp;#124; /bin/grep &apos;hlds_&apos; &#092;&amp;#124; /bin/grep -v &apos;SCREEN&apos; &#092;&amp;#124; /bin/grep -v &apos;/bin/sh&apos;&amp;#124;&quot; or die &quot;error: $!&quot;;&lt;br&gt;while (&amp;lt;F&amp;gt;)&lt;br&gt;&#123;&lt;br&gt;chomp;&lt;br&gt;if($_=~/port&#092;s&#092;d+.+ip&#092;s&#091;&#092;d&#092;.&#093;+/)&lt;br&gt;  &#123;&lt;br&gt;     my $time = time;&lt;br&gt;     $_=~/^&#092;s*(&#091;^&#092;s&#093;+&#092;s+)&#123;8&#125;(&#091;^&#092;s&#093;+)&#092;s+(&#091;^&#092;s&#093;+)&#092;s+.*port&#092;s(&#092;d+).+ip&#092;s(&#091;&#092;d&#092;.&#093;+)/;&lt;br&gt;     my $file = &quot;$put$5:$4.txt&quot;;&lt;br&gt;     my $cpu = $2; my $mem = $3;&lt;br&gt;     $mem = int($mem*$m/100);&lt;br&gt;     open US, &quot;&amp;gt;&amp;gt;$file&quot; or die &quot;error: $!&quot;;&lt;br&gt;     print US &quot;$time&#092;::$cpu&#092;::$mem&#092;n&quot;;&lt;br&gt;     close US;&lt;br&gt;   &#125;&lt;br&gt;&#125;&lt;br&gt;close F;&lt;br&gt;&lt;br&gt;Проблема в другом, при ручном запуске скрипта, все отрабатывает нормально.&lt;br&gt;Но когда добавляешь в крон, /usr/bin/perl /home/stat/top.pl&lt;br&gt;Всплывают косяки:&lt;br&gt;/home/stat/top.pl: 2: use: not found&lt;br&gt;/home/stat/top.pl: </description>
</item>

<item>
    <title>Perl выборка данных. (михалыч)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7888.html#5</link>
    <pubDate>Sat, 14 Jun 2014 12:26:46 GMT</pubDate>
    <description>&amp;gt; ip/port же различные &lt;br&gt;&lt;br&gt;или так нужно?&lt;br&gt;&#091;code&#093;#!/usr/bin/perl&lt;br&gt;&lt;br&gt;use strict;&lt;br&gt;use warnings;&lt;br&gt;&lt;br&gt;my $file = shift;&lt;br&gt;my ($cpu,$mem,$port,$ip);&lt;br&gt;&lt;br&gt;open FH, &quot;&amp;lt;&quot;, $file or die &quot;can&apos;t open file $file: S!&quot;;&lt;br&gt;&lt;br&gt;while (&amp;lt;FH&amp;gt;) &#123;&lt;br&gt;    s/^&#092;s+//;&lt;br&gt;    my &#064;s = split /&#092;s+/, $_;&lt;br&gt;    ($cpu, $mem) = ($s&#091;8&#093;, $s&#091;9&#093;);&lt;br&gt;    if (/port&#092;s+(&#092;d+)&#092;s+&#092;+ip&#092;s+(&#091;&#092;d&#092;.&#093;+)&#092;s+/) &#123;$port = $1; $ip = $2;&#125;&lt;br&gt;    open  FT, &quot;&amp;gt;&quot;, &quot;$ip:$port.txt&quot;;&lt;br&gt;    print FT &quot;$cpu $mem&#092;n&quot;;&lt;br&gt;    close FT;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;close FH;&#091;/code&#093;&lt;br&gt;&lt;br&gt;сразу не понял, что и куда писать/сохранять&lt;br&gt;</description>
</item>

<item>
    <title>Perl выборка данных. (михалыч)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7888.html#4</link>
    <pubDate>Sat, 14 Jun 2014 11:11:02 GMT</pubDate>
    <description>&#091;code&#093;#!/usr/bin/perl&lt;br&gt;&lt;br&gt;use strict;&lt;br&gt;use warnings;&lt;br&gt;&lt;br&gt;my $file = shift;&lt;br&gt;my ($cpu,$mem,$port,$ip);&lt;br&gt;&lt;br&gt;open FH, &quot;&amp;lt;&quot;, $file or die &quot;can&apos;t open file $file: S!&quot;;&lt;br&gt;open FT, &quot;&amp;gt;&quot;, &quot;txt&quot;;&lt;br&gt;&lt;br&gt;while (&amp;lt;FH&amp;gt;) &#123;&lt;br&gt;    s/^&#092;s+//;&lt;br&gt;    my &#064;s = split /&#092;s+/, $_;&lt;br&gt;    ($cpu, $mem) = ($s&#091;8&#093;, $s&#091;9&#093;);&lt;br&gt;    if (/port&#092;s+(&#092;d+)&#092;s+&#092;+ip&#092;s+(&#091;&#092;d&#092;.&#093;+)&#092;s+/) &#123;$port = $1; $ip = $2;&#125;&lt;br&gt;    print FT &quot;$cpu&#092;t$mem&#092;t$port&#092;t$ip&#092;n&quot;;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;close FT;&lt;br&gt;close FH;&#091;/code&#093;&lt;br&gt;&lt;br&gt;&amp;gt; записывались в текстовый файл, к примеру с названием вида IP:PORT.txt(etc)&lt;br&gt;&lt;br&gt;ip/port же различные&lt;br&gt;</description>
</item>

<item>
    <title>Perl выборка данных. (Andrey Mitrofanov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7888.html#3</link>
    <pubDate>Sat, 14 Jun 2014 07:14:01 GMT</pubDate>
    <description>&amp;gt;&amp;gt; awk &apos;&#123;print $9 &quot; &quot; $10&#125;&apos; &lt;br&gt;&amp;gt;&amp;gt; Что там сложного-то? Лень, разве что...&lt;br&gt;&amp;gt; С выборкой cpu и mem через awk нет, проблема с выборкой IP:port &lt;br&gt;&lt;br&gt;OMFG&lt;br&gt;&#091;CODE&#093;&lt;br&gt;&amp;lt;top.txt awk &apos;match($0,&quot;hlds_.+ -port (&#091;0-9&#093;+) &#092;&#092;+ip (&#091;^ &#093;+)&quot;,aa)&#123;print$9&quot; &quot;$10&amp;gt;aa&#091;2&#093;&quot;:&quot;aa&#091;1&#093;&quot;.txt&quot;&#125;&apos;&lt;br&gt;&#091;/CODE&#093;&lt;br&gt;</description>
</item>

<item>
    <title>Perl выборка данных. (fire002)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7888.html#2</link>
    <pubDate>Fri, 13 Jun 2014 20:19:56 GMT</pubDate>
    <description>&amp;gt; awk &apos;&#123;print $9 &quot; &quot; $10&#125;&apos; &lt;br&gt;&amp;gt; Что там сложного-то? Лень, разве что...&lt;br&gt;&lt;br&gt;С выборкой cpu и mem через awk нет, проблема с выборкой IP:port в самой строке запуска, тут уже awk не подходит, ибо значения могут быть в разных столбцах(как показано на скрине).&lt;br&gt;</description>
</item>

<item>
    <title>Perl выборка данных. (Skif)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/7888.html#1</link>
    <pubDate>Fri, 13 Jun 2014 13:48:01 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; Отсюда нужно выбирать некоторые параметры, а именно CPU, MEM, IP и PORT &lt;br&gt;&amp;gt; (числовые значения), данные получаются командой &lt;br&gt;&amp;gt; top -n 1 -b -c ....&lt;br&gt;&amp;gt; Собственно на стандартными средствами лини получать не удается, т.к может отличаться строка &lt;br&gt;&amp;gt; запуска.&lt;br&gt;&amp;gt; Собственно, необходимо что-бы параметры CPU и MEM (9 и 10 столбцы) записывались &lt;br&gt;&amp;gt; в текстовый файл, к примеру с названием вида IP:PORT.txt(etc) &lt;br&gt;&amp;gt; Печеньки гарантирую) &lt;br&gt;&amp;gt; Текстовик с выводом top &lt;br&gt;&amp;gt; http://rghost.ru/56344231 &lt;br&gt;&lt;br&gt;awk &apos;&#123;print $9 &quot; &quot; $10&#125;&apos;&lt;br&gt;Что там сложного-то? Лень, разве что...&lt;br&gt;</description>
</item>

</channel>
</rss>
