|
![](i/corner.gif) |
![](i/b.gif) |
Please register or log in.
|
![](i/b.gif) |
|
|
|
![](i/b.gif) |
![](i/b.gif) |
![](i/b.gif) |
Per capire cosa fa questo script che va in esecuzione ogni giorno alle 23.50 e ci rimane per tutta la vita...
ho fatto una copia dello script, l'ho commentato tutto e fatto tante tante echo
Allego il risultato
mail_logs.txt 339043 bytes downloaded 443 times
|
Ho chiesto info su cosa si potrebbe miglirare anche a Falko, magari lui ha qualche suggerimento buono.
http://www.howtoforge.com/forums/showthread.php?p=42912
Il file di log da analizzare oggi e' di 5Gb, che dite, gliela facciamo a farlo in PHP, passando un'unica volta da ogni riga del file? |
mumble mumble,
fatta una prova scema su uno dei file in corso di analisi:
cat /var/log/mail.log.23-09-06_23-59-01 |wc -l 2067604
grep -iw postfix /var/log/mail.log.23-09-06_23-59-01 | grep -iw from |wc -l
616731
Potrei ridurre all'inizio dello script la dimensione del log che poi lui analizza per N volte... le linee che gli interessano si riducono gia' a 1/4.
|
vabbuo, io la modifica l'ho fatta, mo vediamo se ho messo un bel loop infinito...
spero che riducendo il file da 2/3 milioni di righe a meno di un milione, questo riduca in proporzione il tempo impiegato da ogni "grep -iw..." a completare il suo lavoro.
a domani per i risultati... |
|
|
Lorenzo Salvadorini ha scritto:
>> Se vuoi una mano a scrivere la regular expression ... mandami una
>> riga campione (di quelle che dovrebbero essere lette e filtrate da
>> quella sequenza ...
>
> a dire il vero non ci ho capito molto, se guardi il file di log e
> provi a eseguire tu i vari grep, ti ritrovi con una mail per ogni
> riga, io mi aspettavo i bytes... ????
>
Se no ho capito male estrae il numerino dopo size= nelle righe tipo
quelle sotto (caratterizzate da 'postfix/qmgr') ma sono un po' allibito
sul fatto che ci faccia, per esempio, "grep lillinet.org" ... i form
sono a volte semplici from=<[email protected]> e altre volte cose tipo
from=<sentto-189843-4534-1159526380-sciarab=lillinet.org@returns.groups.yahoo.com>
....
Non capisco bene cosa voglia dire ...
nel complesso pero' mi sembra un modo un po' grezzino ed aleatorio di
estrarre i dati!
Giorgio
Sep 29 12:37:18 vandana postfix/qmgr[23439]: B6317401FB:
from=<sentto-6346432-4814-1159526033-gianna=lillinet.org@returns.groups.yahoo.com>,
size=244771, nrcpt=1 (queue active)
Sep 29 12:37:53 vandana postfix/qmgr[23439]: 08682401F1:
from=<[email protected]>, size=1643, nrcpt=1 (queue active)
Sep 29 12:37:53 vandana postfix/qmgr[23439]: 20009401FB:
from=<[email protected]>, size=1649, nrcpt=1 (queue active)
Sep 29 12:39:41 vandana postfix/qmgr[23439]: BC4884020E:
from=<[email protected]>, size=2923,
nrcpt=1 (queue active)
Sep 29 12:40:41 vandana postfix/qmgr[23439]: D378440203:
from=<[email protected]>, size=1946, nrcpt=1 (queue active)
Sep 29 12:43:04 vandana postfix/qmgr[23439]: 891024020E:
from=<sentto-189843-4534-1159526380-sciarab=lillinet.org@returns.groups.yahoo.com>,
size=33773, nrcpt=1 (queue active)
Sep 29 12:48:06 vandana postfix/qmgr[23439]: 13D644011D:
from=<[email protected]>,
size=32638, nrcpt=1 (queue active)
Sep 29 12:48:06 vandana postfix/qmgr[23439]: 14531401FB:
from=<[email protected]>,
size=32640, nrcpt=1 (queue active) |
> Non capisco bene cosa voglia dire ...
> nel complesso pero' mi sembra un modo un po' grezzino ed aleatorio di
> estrarre i dati!
di sicuro e' un problema non banale, perche' mi ricordo che anche sotto ensim
c'era dei bei barbatrucchi per calcolare il traffico fatto da ogni sito...
In ogni caso la semplice modifica che ho fatto ieri sembra abbia prodotto
qualche risultato, ma non ne sono troppo sicuro: pare che ci abbia messo
quaranta minuti a fare il tutto (???)
O almeno questo e' quello che sembra guardando il log
grep mail_log /home/admispconfig/ispconfig/ispconfig.log|less
Non mi e' ancora molto chiaro se facendo la exec da php, viene attesa la
terminazione di ogni comando oppure se i comandi vengono lanciati tutti e si
sovrappongono. Io so che e' vera la prima, infatti per mandare un processo
per conto suo si fa la exec("comando &");, ma nei giorni scorsi avevamo 3/4
processi attivi che analizzavano questi log in contemporanea... l'unica
spiegazione che mi do e' che fossero i processi dei giorni precedenti che
erano ancora in corso... non mi voglio immaginare il casino dei file file di
log che si sovrapponevano l'un l'altro di giorno in giorno...
vediamo cosa succede nei prossimi giorni, va. |
> In ogni caso la semplice modifica che ho fatto ieri sembra abbia prodotto
> qualche risultato, ma non ne sono troppo sicuro: pare che ci abbia messo
> quaranta minuti a fare il tutto (???)
stanotte ci ha messo 3 ore e mezzo, ma era il traffico domenicale, la
prova della verita' sara' stanotte. si accettano scommesse :-) |
|
|
|
![](i/b.gif) |
![](i/b.gif) |
|
![](i/b.gif) |
![](i/b.gif) |
|
|
|
|