# ls -l /var/log/syslog*
-rw-r----- 1 root adm 1045394 2008-02-27 17:23 /var/log/syslog
-rw-r----- 1 root adm 1133462 2008-02-26 06:25 /var/log/syslog.0
-rw-r----- 1 root adm 86969 2008-02-25 06:25 /var/log/syslog.1.gz
-rw-r----- 1 root adm 177210 2008-02-24 06:25 /var/log/syslog.2.gz
-rw-r----- 1 root adm 93569 2008-02-23 06:25 /var/log/syslog.3.gz
-rw-r----- 1 root adm 68819 2008-02-22 06:25 /var/log/syslog.4.gz
-rw-r----- 1 root adm 59833 2008-02-21 06:25 /var/log/syslog.5.gz
-rw-r----- 1 root adm 80238 2008-02-20 06:25 /var/log/syslog.6.gz
Ora, io vorrei recuperare tutte le voci di un certo periodo (es. dalle
01:30 del 20/02 alle 23.00 del 24/02), indipendentemente dal file in cui
queste voci si trovano. Ovviamente so che si può fare lavorando di
script, ma se esiste qualcosa di già pronto tanto meglio :)
Grazie!
cat |grep per i non zippati
zcat|grep per gli zippati
per quanto riguarda l'espressione da far cercare a grep (una fascia oraria)
sicuramente c'è una regexp che matcha i risultati che cerchi, e
altrattanto sicuramente non saro' io fartela :)
> cat |grep per i non zippati
> zcat|grep per gli zippati
meglio grep direttamente sul/sui file e zgrep (o bzgrep) per quelli
compressi
--
Vide
> Ora, io vorrei recuperare tutte le voci di un certo periodo (es. dalle
> 01:30 del 20/02 alle 23.00 del 24/02), indipendentemente dal file in cui
> queste voci si trovano. Ovviamente so che si può fare lavorando di
> script, ma se esiste qualcosa di già pronto tanto meglio :)
zcat /var/log/syslog*.gz | sed -n '/Feb 20 01:30/,/Feb 24 23:00/p'
In ogni caso se devi fare ricerche in base a periodi di tempo, normalmente i
log di sistema si ruotano ad intervalli fissi di tempo, per cui sai già in
che file cercare.
--
Vide
questioni di sQuola di pensiero(*) !!
Red
(*)non è vero hai ragione te, ma le brutte abitudini sono dure a morire :)
O anche zgrep per tutti... :-)
--
Ciao.
Alessandro
"Ubuntu" - an African word, meaning "Slackware is too hard for me".