[ sias @ 26.01.2005. 21:04 ] @
DA li neko moze da mi kaze kako da na apache 2 serveru parsiram logove /var/log/apache/(access_log i error_log) za sve korisnike (/~username) i da ih upisem u njihov home_dir(/home/~username/access_log i /home/~username/error_log ) kao zasebne failove.

Unapred hvala.

[ Gojko Vujovic @ 26.01.2005. 21:12 ] @
Dobro pitanje ali mislim da apache trenutno ne podržava odvojene logove kroz userdir modul.
[ caiser @ 27.01.2005. 09:03 ] @
Jedino da napravis skriptu koja ce to da radi.
[ sias @ 27.01.2005. 09:19 ] @
A kako bi izgledala ta skripta ??
Moze neki predlog?

[ caiser @ 27.01.2005. 10:15 ] @
Na brzinu.

Code:
cd /home; for i in *; do grep $i /var/log/httpd/access_log >> /home/$i/access_log; done


Isto to i za error_log. Mada ako imas korisnika koji se zove abc i drugog koji se zove abcd onda ovo i nece da radi bas najbolje.
[ Gojko Vujovic @ 27.01.2005. 11:04 ] @
Možda ovo rešava taj problem: grep /~$i/

Ali u startu je loša ideja, pošto ti logovi treba da budu interaktivni, a ovako nisu. I ako si mislio da staviš to u cron, kako misliš da odradiš nastavljanje tj. da ti se pri sledećem parsovanju ne duplira sadržaj? Ili misliš da brišeš log čim završiš jedan parse? Pa ne može ni to, zato što ćeš ti parsovati jedan snapshot a dok se to završi, posebno ako ima više usera i ako je veći log u pitanju, biće dosta linija koje ćeš propustiti i koje ćeš potencijalno obrisati... Tako da mislim da to nije neko rešenje.
[ flylord @ 27.01.2005. 13:23 ] @
Koliko ja znam on moze log file da pusti kroz pipe, i u samom Apache-u, a to isto radi i sa syslog-om.
Evo ga primer iz mog httpd.conf. To je za apache 1.3

CustomLog "| /hsphere/shared/apache/bin/rotatelogspsoft /hsphere/local/var/httpd/logs/access_log 86400" "%v|%f|%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""