<?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>Enrico Tenivella &#187; Bash</title>
	<atom:link href="http://www.texilee.it/category/bash/feed" rel="self" type="application/rss+xml" />
	<link>http://www.texilee.it</link>
	<description>Diario di bordo di un sistemista</description>
	<lastBuildDate>Mon, 21 Jun 2010 11:55:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>script auto connect multi ssh-server konsole</title>
		<link>http://www.texilee.it/script-auto-connect-multi-ssh-server-konsole</link>
		<comments>http://www.texilee.it/script-auto-connect-multi-ssh-server-konsole#comments</comments>
		<pubDate>Tue, 09 Feb 2010 09:24:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Bash]]></category>

		<guid isPermaLink="false">http://www.tenivella.it/?p=307</guid>
		<description><![CDATA[#!/bin/bash ## ## arr dei server formato 'utente@host &#124;nome_simbolico' ## SERVER=('root@10.10.10.1 &#124;SERVERA' 'root@10.10.10.2 &#124; SERVERB' 'root@10.10.10.3 -p4390 &#124;SERVERC' 'root@10.10.10.4 -p2100 &#124; SERVERD') # start a new konsole window and save the handle in $konsole konsole=$(dcopstart konsole-script) # maximize the new window dcop $konsole konsole-mainwindow#1 maximize # get current session for the first (just created) window [...]]]></description>
			<content:encoded><![CDATA[<pre>#!/bin/bash

##
## arr dei server  formato 'utente@host |nome_simbolico'
##
SERVER=('<a href="mailto:root@91.212.167.194">root@10.10.10.1</a> |SERVERA' '<a href="mailto:root@91.212.167.195">root@10.10.10.2</a> | SERVERB' '<a href="mailto:root@91.212.167.194">root@10.10.10.3</a> -p4390 |SERVERC' '<a href="mailto:root@91.212.167.194">root@10.10.10.4</a> -p2100 |
SERVERD')

# start a new konsole window and save the handle in $konsole
konsole=$(dcopstart konsole-script)

# maximize the new window
dcop $konsole konsole-mainwindow#1 maximize

# get current session for the first (just created) window
thissession=$(dcop $konsole konsole currentSession)

# rename this window/session
dcop $konsole $thissession renameSession "Scuolazoo  init"

# start a new session tab for each server
for s in "${SERVER[@]}" ; do
srv=`echo $s|awk -F\| '{print $1}'`
name=`echo $s|awk -F\| '{print $2}'`

# this output is displayed on the terminal which is running your script
echo "connect to server: $name"

# create another konsole tab and save handle in $newsession
newsession=`dcop $konsole konsole newSession "ssh $srv"`

# wait for shell startup
while [ `dcop $konsole $newsession sessionPID` -eq 0 ];
do sleep 0.1
done

# rename the new session
dcop $konsole $newsession renameSession $name

# and start the ssh session
dcop $konsole $newsession sendSession "exec ssh $srv  \"$param\""

done

# close the first session window
dcop $konsole $thissession closeSession &gt; /dev/null
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.texilee.it/script-auto-connect-multi-ssh-server-konsole/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bash find email year based</title>
		<link>http://www.texilee.it/bash-find-email-year-based</link>
		<comments>http://www.texilee.it/bash-find-email-year-based#comments</comments>
		<pubDate>Tue, 09 Feb 2010 09:10:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Bash]]></category>

		<guid isPermaLink="false">http://www.tenivella.it/?p=300</guid>
		<description><![CDATA[for i in `find . -type f -iname &#8216;*[0-9]*&#8217;` ; do  head -n $(grep -m1 -n ^$ $i &#124; awk -F : &#8216;{print $1}&#8217;) $i &#124; grep &#8220;^Date.*\ 2005\ &#8221; -q  ; if [ $? != 1 ]; then echo $PWD $i; fi ; done]]></description>
			<content:encoded><![CDATA[<p>for i in `find . -type f -iname &#8216;*[0-9]*&#8217;` ; do  head -n $(grep -m1 -n  ^$ $i | awk -F : &#8216;{print $1}&#8217;) $i | grep &#8220;^Date.*\ 2005\ &#8221; -q  ; if [ $?  != 1 ]; then echo $PWD $i; fi ; done</p>
]]></content:encoded>
			<wfw:commentRss>http://www.texilee.it/bash-find-email-year-based/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bash countdown refresh screen terminal counter</title>
		<link>http://www.texilee.it/bash-countdown-refresh-screen-terminal-counter</link>
		<comments>http://www.texilee.it/bash-countdown-refresh-screen-terminal-counter#comments</comments>
		<pubDate>Wed, 26 Nov 2008 14:24:18 +0000</pubDate>
		<dc:creator>texilee</dc:creator>
				<category><![CDATA[Bash]]></category>

		<guid isPermaLink="false">http://www.texilee.it/?p=275</guid>
		<description><![CDATA[enrico@tex:~$ clear &#38;&#38; for i in `seq -10 0`; do tput cup 1 0 &#38;&#38; printf &#8221; $i &#8221; ; sleep 1; done]]></description>
			<content:encoded><![CDATA[<p>enrico@tex:~$ clear &amp;&amp; for i in `seq -10 0`; do tput cup 1 0 &amp;&amp; printf &#8221; $i &#8221; ; sleep 1; done</p>
]]></content:encoded>
			<wfw:commentRss>http://www.texilee.it/bash-countdown-refresh-screen-terminal-counter/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>script backup server ftp curl</title>
		<link>http://www.texilee.it/script-backup-server-ftp-curl</link>
		<comments>http://www.texilee.it/script-backup-server-ftp-curl#comments</comments>
		<pubDate>Wed, 05 Mar 2008 10:29:53 +0000</pubDate>
		<dc:creator>texilee</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.texilee.it/2008/03/05/bash/script-backup-server-ftp-curl/</guid>
		<description><![CDATA[Di seguito un semplicissimo script bash per effettuare il backup di una direcotry compressa su un server ftp #!/bin/sh date echo &#8220;Inizio procedura backup XXXXXXXXX su FTP @XXX.XXX.XXX.XXX&#8221; echo &#8220;cancellazione vecchio backup&#8221; rm -rf /var/backups/texilee.it echo &#8220;rm -rf /var/backups/texilee.it&#8221; $? echo; echo &#8220;creazione nuova directory&#8221; mkdir /var/backups/texilee.it echo &#8220;mkdir /var/backups/texilee.it&#8221; $? echo; echo &#8220;Creazione tgz&#8230;.&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Di seguito un semplicissimo script bash per effettuare il backup di una direcotry  compressa su un server ftp</p>
<p>#!/bin/sh<br />
date<br />
echo &#8220;Inizio procedura backup XXXXXXXXX  su FTP @XXX.XXX.XXX.XXX&#8221;</p>
<p>echo &#8220;cancellazione vecchio backup&#8221;<br />
rm -rf /var/backups/texilee.it</p>
<p>echo &#8220;rm -rf /var/backups/texilee.it&#8221; $?</p>
<p>echo; echo &#8220;creazione nuova directory&#8221;<br />
mkdir /var/backups/texilee.it</p>
<p>echo &#8220;mkdir /var/backups/texilee.it&#8221; $?<br />
echo;</p>
<p>echo &#8220;Creazione tgz&#8230;.&#8221;</p>
<p>cd<noscript>Entre más <a href="http://www.extremapoker.es/play-poker-lecciones.html">play poker</a> compares mejor.</noscript> /var/backups/texilee.it/</p>
<p>tar zcf sito.tgz  /var/www/  || exit &#8220;Errore crezione tgz.&#8221;</p>
<p>ls -la /var/backups/texilee.it/</p>
<p>/usr/bin/curl -T /var/backups/texilee.it/sito.tgz  ftp://usertexilee:texileepwd@XXX.XXX.XXX.XXX/texilewww.tgz</p>
<p>if [ $? -eq 0 ]<br />
then</p>
<p>echo &#8220;backup in corso&#8230;&#8221;<br />
else</p>
<p>exit  $?</p>
<p>fi</p>
<p>echo &#8220;procedura completata correttamente&#8221;<br />
date<br />
mail -s &#8220;Automatic Backup FTP System NOTIFICATION&#8221; tech-c@texilee.it &lt;&lt;<noscript>Beruhmte <a href="http://www.eigeneer.com/beste-speilautomat-tipps.html">speilautomat</a>.</noscript> MAILBODY;</p>
<p>Copia<noscript>Descubra e veja de onde é Quando você ver <a href="http://www.idealtoques.com">toques para vivo</a> com o instalador.</noscript> di backup www.texilee.it  eseguita correttamente su ftp.</p>
<p>MAILBODY</p>
<p>exit 0</p>
]]></content:encoded>
			<wfw:commentRss>http://www.texilee.it/script-backup-server-ftp-curl/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>apc smart ups script snmp bash</title>
		<link>http://www.texilee.it/apc-smart-ups-script-snmp-bash</link>
		<comments>http://www.texilee.it/apc-smart-ups-script-snmp-bash#comments</comments>
		<pubDate>Mon, 24 Sep 2007 13:02:10 +0000</pubDate>
		<dc:creator>texilee</dc:creator>
				<category><![CDATA[Bash]]></category>

		<guid isPermaLink="false">http://www.texilee.it/2007/09/24/bash/apc-smart-ups-script-snmp-bash/</guid>
		<description><![CDATA[APC azienda leader nella fabbricazione di gruppo di continuità permette via snmp il monitoraggio del device. Alcune delle informazioni più importanti che si possono ottenere sono: - lo stato delle batterie [Normal&#124;Low] - il tempo trascorso in modalità batteria - il tempo massimo in modalità batteria - la capacità in % delle batterie - il [...]]]></description>
			<content:encoded><![CDATA[<p><strong>APC</strong> azienda leader nella fabbricazione di gruppo di continuità permette<br />
via snmp il monitoraggio del device.<br />
Alcune delle informazioni più importanti che si possono ottenere sono:<br />
<em><br />
- lo stato delle batterie [Normal|Low]<br />
- il tempo trascorso in modalità batteria<br />
- il tempo massimo in modalità batteria<br />
- la capacità in % delle batterie<br />
- il rilevamento delle batterie da sostituire<br />
- la temperatura delle batterie<br />
- la temperature ambientale</em></p>
<p>Utilizzando delle semplici istruzioni <strong>snmp,</strong> due righe di <strong>bash</strong> e un canale (un demone&#8230;)<br />
per interfacciarsi ad un <strong>gateway sms</strong> possiamo farci inviare dei messaggi sms in caso di problemi, oppure semplicemente ricevere ad intervalli regolari una mail informativa sullo stato.</p>
<p>Avendo ad esempio un condizionatore &#8220;casalingo&#8221; il gruppo di continuità può venirci incontro<br />
offrendoci la possibilità materiale di ottenere la temperatura della nostra server farm.</p>
<p>NB: sono in commercio sensori per il rilevamento di umidità.</p>
<p>Installato snmp e scaricato il file MIB (Management Information Base) sotto /usr/share/snmp/mibs/powernetX.X.X.mib bisogna configurare il demone sul dispositivo ups.<br />
Per farlo consultate il manuale del produttore.</p>
<p>Nell&#8217;esempio il dispositivo avrà indirizzo IP 192.168.30.11 e la community read &#8220;public&#8221;</p>
<p>Possiamo iniziare il polling dello stato con uno script</p>
<p><code><br />
#!/bin/sh<br />
echo "---------------------------------";<br />
snmpget -OsQ -m "/usr/share/snmp/mibs/powernetX.X.X.mib"  \<br />
-v1 -c public 192.168.30.11 \<br />
upsBasicBatteryStatus.0 \<br />
upsBasicBatteryTimeOnBattery.0 \<br />
upsAdvBatteryCapacity.0 \<br />
upsAdvBatteryTemperature.0 \<br />
upsAdvBatteryRunTimeRemaining.0 \<br />
upsAdvBatteryReplaceIndicator.0 \<br />
iemStatusProbeCurrentTemp.1<br />
echo "---------------------------------";<br />
echo;<br />
exit 0</code></p>
<p>che produrrà un output molto chiaro<br />
<code><br />
tex:~$  /usr/local/bin/upsinfo<br />
---------------------------------<br />
upsBasicBatteryStatus.0 = batteryNormal<br />
upsBasicBatteryTimeOnBattery.0 = 0:0:00:00.00<br />
upsAdvBatteryCapacity.0 = 100<br />
upsAdvBatteryTemperature.0 = 29<br />
upsAdvBatteryRunTimeRemaining.0 = 0:3:58:00.00<br />
upsAdvBatteryReplaceIndicator.0 = noBatteryNeedsReplacing<br />
iemStatusProbeCurrentTemp.1 = 24<br />
---------------------------------</code></p>
<p>Per controllare lo stato della temperatura esterna (per creare grafici con mrtg, farsi inviare sms di allarme, ecc&#8230;) basterà inserire nello script:</p>
<p><code><br />
CURTEM=`snmpget -Oqv -m "/usr/share/snmp/mibs/powernetX.X.X.mib"  -v1 -c  public 192.168.30.11  iemStatusProbeCurrentTemp.1`</code></p>
<p>e confrontare/salvare il valore di CURTEM.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.texilee.it/apc-smart-ups-script-snmp-bash/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vpopmail clean old maildir last authentication</title>
		<link>http://www.texilee.it/vpopmail-clean-old-maildir-last-authentication</link>
		<comments>http://www.texilee.it/vpopmail-clean-old-maildir-last-authentication#comments</comments>
		<pubDate>Wed, 19 Sep 2007 10:08:10 +0000</pubDate>
		<dc:creator>texilee</dc:creator>
				<category><![CDATA[Bash]]></category>

		<guid isPermaLink="false">http://www.texilee.it/2007/09/19/bash/vpopmail-clean-old-maildir-last-authentication/</guid>
		<description><![CDATA[Solitamente i clienti pressano per l&#8217;attivazione di una casella email, ma non si preoccupano minimamente di segnalare al gestore la disattivazione. I metodi per recuperare la lista delle caselle in disuso sono molteplici (vpopmail permette anche la disattivazione automatica dopo un tot di tempo), io preferisco estrapolare la data dell&#8217;ultimo accesso e parsarsi un comodo [...]]]></description>
			<content:encoded><![CDATA[<p>Solitamente i clienti pressano per l&#8217;attivazione di una casella email, ma non si preoccupano minimamente di  segnalare al gestore la disattivazione.</p>
<p>I metodi per recuperare la lista delle caselle in disuso sono molteplici (vpopmail permette anche la disattivazione automatica dopo un tot di tempo), io preferisco estrapolare la data dell&#8217;ultimo accesso e parsarsi un comodo fie formattato.</p>
<p>Il comando che genera il file</p>
<p><code><br />
for i in `vpopbull  -nV`;do echo  -n "$i " ; vuserinfo $i |grep "last auth:" ; done<br />
</code></p>
<p>l&#8217;output è il seguente</p>
<p>massimo@texilee.it  last auth: Never logged in<br />
cristina@texilee.it  last auth: Wed Sep 19 11:20:32 2007<br />
emanuele@texilee.it  last auth: Never logged in<br />
fabrizio@texilee.it  last auth: Wed Sep 19 10:49:43 2007<br />
gabriele@texilee.it  last auth: Never logged in<br />
sandro@texilee.it last auth: Tue Jun  6 16:52:25 2006</p>
<p>e con poche combinazioni di bash si riesce ad esempio a risalire agli utenti &#8220;mai loggati&#8221; o a quelli &#8220;loggati l&#8217;anno scorso&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.texilee.it/vpopmail-clean-old-maildir-last-authentication/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>clamav-daemon check script</title>
		<link>http://www.texilee.it/clamav-daemon-check-script</link>
		<comments>http://www.texilee.it/clamav-daemon-check-script#comments</comments>
		<pubDate>Tue, 18 Sep 2007 16:09:18 +0000</pubDate>
		<dc:creator>texilee</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.texilee.it/2007/09/18/linux/clamav-daemon-check-script/</guid>
		<description><![CDATA[Negli ultimi tempi su una macchina molto stressata ho disabilitato l&#8217;opzione di freshclam che imponeva il reload delle signature a clamd, commentandola #NotifyClamd /etc/clamav/clamd.conf Ho inoltre abbassato il tempo dell&#8217;opzione SelfCheck di clamd a 1800. Il problema era molto grave perchè i processi clamd sparivano senza lasciare traccia (solo il logging di grsec mi segnalava [...]]]></description>
			<content:encoded><![CDATA[<p>Negli ultimi tempi su una macchina molto stressata ho disabilitato l&#8217;opzione di freshclam che imponeva il reload delle signature a clamd, commentandola</p>
<p><code>#NotifyClamd /etc/clamav/clamd.conf</code></p>
<p>Ho inoltre abbassato il tempo dell&#8217;opzione  SelfCheck di clamd a 1800.</p>
<p>Il problema era molto grave perchè i processi clamd sparivano senza lasciare traccia (solo il logging di grsec mi segnalava il segmentation fault) mentre il socket rimaneva aperto, facendo andare in &#8220;palla&#8221; pure simscan.</p>
<p>Non sono riuscito a risolvere in maniera pulitissima  e prima di cantare vittoria ho preparato uno script che controlla esistenza di pid, processi, socket e nel peggiore dei casi si occupa di fare un restart di clamd</p>
<p>Il codice per contare il numero dei processi (anche spamassassin gira sotto clamav)</p>
<p><code>ssh texilee.it ps --User=clamav u| grep /usr/sbin/clamd |wc -l</code></p>
<p>Dopodichè se tutti i test di &#8220;vita&#8221; falliscono forzo il restart del demone.</p>
<p>Se qualcuno ha lo stesso problema (magari..) o vuole cimentarsi nel debugging mi può rispondere sul blog o via mail o <a href="http://forums.grsecurity.net/viewtopic.php?t=1803">qui</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.texilee.it/clamav-daemon-check-script/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>grep awk strip  empty commented lines</title>
		<link>http://www.texilee.it/grep-awk-strip-empty-commented-lines</link>
		<comments>http://www.texilee.it/grep-awk-strip-empty-commented-lines#comments</comments>
		<pubDate>Mon, 09 Jul 2007 16:14:39 +0000</pubDate>
		<dc:creator>texilee</dc:creator>
				<category><![CDATA[Bash]]></category>

		<guid isPermaLink="false">http://www.texilee.it/2007/07/09/bash/grep-awk-strip-empty-commented-lines/</guid>
		<description><![CDATA[Strip out empty or commented code. grep -e "^[^#]" /etc/file.conf awk '{ if ($0 !~ /^[#]&#124;^$/) print $0 ;}' /etc/file.conf]]></description>
			<content:encoded><![CDATA[<p>Strip out  empty or commented code.</p>
<p><code>grep -e "^[^#]"  /etc/file.conf</code></p>
<p><code>awk '{ if ($0 !~ /^[#]|^$/) print $0 ;}' /etc/file.conf</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.texilee.it/grep-awk-strip-empty-commented-lines/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Realtime block list stats for qmail</title>
		<link>http://www.texilee.it/realtime-block-list-stats-for-qmail</link>
		<comments>http://www.texilee.it/realtime-block-list-stats-for-qmail#comments</comments>
		<pubDate>Fri, 04 May 2007 19:18:16 +0000</pubDate>
		<dc:creator>texilee</dc:creator>
				<category><![CDATA[Bash]]></category>

		<guid isPermaLink="false">http://www.texilee.it/2007/05/04/bash/realtime-block-list-stats-for-qmail/</guid>
		<description><![CDATA[Per ottenere qualche statistica sull&#8217;efficenza della varie rbl sul sistema di posta ecco un semplice file di cron Ogni giorno alle 7:23 root esegue 23 7 * * * root Info sulla macchina echo "RBL REPORT NS1" &#38;&#38; E il ciclo che genera le stats for i in zen.spamhaus.org dul.dnsbl.sorbs.net; \\\ do echo $i &#38;&#38; [...]]]></description>
			<content:encoded><![CDATA[<p>Per ottenere qualche statistica sull&#8217;efficenza della varie rbl  sul sistema di posta ecco un semplice file di cron<br />
Ogni giorno alle 7:23 root esegue</p>
<pre>23 7 * * * root</pre>
<p>Info sulla macchina</p>
<pre>echo "RBL REPORT NS1" &amp;&amp;</pre>
<p>E il ciclo che genera le stats</p>
<pre>for i in zen.spamhaus.org dul.dnsbl.sorbs.net; \\\

do echo $i &amp;&amp;  grep "$i" /var/log/mail.log.0 | \\\

awk '{print $8}'|sort|uniq|sort|wc -l; \\\

done</pre>
<p>Come esempio ho usato zen.spamhaus.org dul.dnsbl.sorbs.net metteteci quelle cheusate voi separate da spazi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.texilee.it/realtime-block-list-stats-for-qmail/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BASH Squid linea di comando awk</title>
		<link>http://www.texilee.it/bash-squid-linea-di-comando-awk</link>
		<comments>http://www.texilee.it/bash-squid-linea-di-comando-awk#comments</comments>
		<pubDate>Thu, 18 Jan 2007 09:47:30 +0000</pubDate>
		<dc:creator>texilee</dc:creator>
				<category><![CDATA[Bash]]></category>

		<guid isPermaLink="false">http://texilee.gruppoinfo.it/2007/01/18/bash/bash-squid-linea-di-comando-awk/</guid>
		<description><![CDATA[Squid è un ottimo proxy server, per conoscere quali sono i domini più cliccati dai nostri utenti possiamo usare una linea di script bash. Ipotizziamo un formato di log del genere 1169028202.491 2456 192.168.1.1 TCP_MISS/200 9013 POST http://www.5t.torino.it/5t/it/percorsi &#8211; DIRECT/213.215.218.134 text/html Contiamo (a occhio va bene) in che posizione si trova la entry relativa alla [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Squid</strong> è un ottimo <strong>proxy server</strong>, per conoscere quali sono i domini più cliccati dai nostri utenti possiamo usare una linea di script bash. Ipotizziamo un formato di log del genere</p>
<p>1169028202.491   2456 192.168.1.1 TCP_MISS/200 9013 POST http://www.5t.torino.it/5t/it/percorsi &#8211; DIRECT/213.215.218.134 text/html</p>
<p>Contiamo (a occhio va bene) in che posizione si trova la entry relativa alla url richiesta. Il separatore che uso è lo spazio.</p>
<p>1) 1169028202.491<br />
2) 2456<br />
3) 192.168.1.1<br />
4) TCP_MISS/200<br />
5) 9013<br />
6) POST<br />
7) http://www.5t.torino.it/5t/it/percorsi <img src='http://www.texilee.it/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> -<br />
9) DIRECT/213.215.218.134<br />
10) text/html</p>
<p>Con <strong>awk </strong>e la funzione split delimito solo il dominio, dopodichè uso il solito procedimento di ordinamento (sort) e conteggio numerico (uniq -c)</p>
<pre>cat  /var/log/squid/access.log | \\

awk '{ split($7,url,/\\//); print url[3]  }' |  \\

sort | uniq -c | sort -nr | less</pre>
<p>Si ottiene la &#8220;classifica&#8221; domini per hits</p>
]]></content:encoded>
			<wfw:commentRss>http://www.texilee.it/bash-squid-linea-di-comando-awk/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
