PDA

View Full Version : Archiviazione log di accesso di apache


Brg
24-05-2008, 21:20
Salve a tutti,
in questi giorni sto affrontando il problema dei log di accesso di apache, visto che occorre archiviarli per evitare che occupino una marea di spazio mi sono messo alla ricerca della souzione.
Ora da quanto ho trovato la maggior parte delle distribuzioni offrono il comando "logrotate" o "cronlog" che sembrerebbero fare a caso mio anche se da quanto letto sono piu' adatti a fare una rotazione dei log piu' che una archiviazione nel tempo.

Onestamente al posto di usare questi comandi pensavo di creare un file di batch del tipo
cp /path/access_log /path/old/access_log
cat /dev/null > /path/access_log
mv /path/old/access_log /path/old/access_log_`date +%y-%m-%d`.log
gzip /path/old/access_log_`date +%y-%m-%d`.log
ovvero copiare il file di log in una apposita directory, svuotare l'originale, rinominare la copia con la data e comprimerla, il tutto facendolo girare giornalmente tramite cron.

Da prove effettuate sul server di test sembra funzionare, ma magari la cosa potrebbe comportare qualche problema tecnico, c'e' nessuno che potrebbe dirmi se c'e' qualche tipo di controindicazione a fare una cosa del genere???

Devil!
24-05-2008, 21:49
Le soluzioni possibili sono tante.
Il tuo script può andar bene; attenzione però ai permessi con i quali i file vengono creati.

Comunque io uso logrotate

cat /etc/logrotate.d/apache2
/var/log/apache2/*.log {
weekly
missingok
rotate 10
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 reload > /dev/null
fi
endscript
}

Settimanalmente (weekly) i log di Apache (/var/log/apache2/*.log) vengono ruotati mantenendo gli ultimi 10 archivi (rotate 10), compressi (compress) e ricreati con i permessi indicati (create 640 root adm).
Alla fine viene eseguito il comando descritto dopo postrotate.

Si può facilmente impostare tutto con webmin (http://www.webmin.com/) (vale anche per gli altri log).

Brg
24-05-2008, 21:58
Magari sbaglio ma logrotate mi sembra piu' adatto ad un uso amministrativo del sistema, ovvero visto che in italia c'e' bisogno di tenere i log per qualche anno logrotate mi sembra poco adatto, in fondo nel mio caso cosa farebbe in piu' che non fanno le mie 4 righe di codice?

p.s. per i permessi, credo che basti inserire un chmod alla fine del processo di compressione

Devil!
24-05-2008, 22:10
Magari sbaglio ma logrotate mi sembra piu' adatto ad un uso amministrativo del sistema, ovvero visto che in italia c'e' bisogno di tenere i log per qualche anno logrotate mi sembra poco adatto, in fondo nel mio caso cosa farebbe in piu' che non fanno le mie 4 righe di codice?


logrotate ha solo qualche opzione in più, tutto qui

per conservare i log per più tempo è sufficiente modificare il numero di archivi o il periodo

p.s. per i permessi, credo che basti inserire un chmod alla fine del processo di compressione


Life bringer
25-05-2008, 00:04
Scusate se mi intrometto, vorrei sapere come è possibile far creare ad apache i log con permessi diversi, c'è qualche opzione da settare nel file di configurazione? Ogni settimana aw stats dice che non riesce ad accedere ai nuovi file e devo impostare i permessi manualmente...

Devil!
25-05-2008, 09:04
Puoi usare l'opzione di logrotate perchè ricrei i log con i permessi giusti (es: create 640 root adm) oppure impostare un cronjob