<br><div class="gmail_quote">17 января 2012 г. 11:57 пользователь x00xer <span dir="ltr"><<a href="mailto:nginx-forum@nginx.us">nginx-forum@nginx.us</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Следовательно каждый раз когда<br>
запрашивают страницу с отображением<br>
кол-ва скачиваний, делать просчет всех<br>
лог файлов мутное занятие.</blockquote><div><br></div>Если сделать так, как сказал Maxim Dounin, то просчитывать все логи не придется. К примеру, если счетчики скачиваний лежат в мемкеше, то в простейшем случае скрипт обработки логов может быть такой:</div>
<div class="gmail_quote"><br></div><div class="gmail_quote"><div class="gmail_quote"><font class="Apple-style-span" face="'courier new', monospace">#!/bin/bash</font></div></div><div class="gmail_quote"><font class="Apple-style-span" face="'courier new', monospace"><br>
</font></div><div class="gmail_quote"><div class="gmail_quote"><font class="Apple-style-span" face="'courier new', monospace">whil</font><span class="Apple-style-span" style="font-family:'courier new',monospace">e read line; do</span></div>
<div class="gmail_quote"><font class="Apple-style-span" face="'courier new', monospace"> # пример обработки строки из лога</font></div><div class="gmail_quote"><font class="Apple-style-span" face="'courier new', monospace"> URL=$(echo $line | cut -d ' ' -f 7)</font></div>
<div class="gmail_quote"><font class="Apple-style-span" face="'courier new', monospace"> # инкремент счетчика в memcache</font></div><div class="gmail_quote"><font class="Apple-style-span" face="'courier new', monospace"> echo -e "incr $URL 1\r" | netcat -q 1 localhost 11211</font></div>
<div class="gmail_quote"><font class="Apple-style-span" face="'courier new', monospace">done</font></div><div><br></div><div>Соответственно tail -F /path/to/logs | <span class="Apple-style-span" style="font-family:arial,sans-serif;font-size:13px;white-space:nowrap;background-color:rgb(255,255,255)">counter</span>.sh будет обрабатывать лог почти в realtime.</div>
</div>