1x per maand automatisch apache access_log opslaan

Pagina: 1
Acties:
  • 104 views sinds 30-01-2008

  • intert0y
  • Registratie: Februari 2000
  • Laatst online: 10-03 15:17
Nu heb ik een logfile van +- 50 mb staan waar steeds maar gewoon data bijkomt.

Nu zou ik graag willen dat er 1x per maand gewoon de access_log naar access_log_01_01 (access_maand_jaar) wordt gecopied en dat de access_log weer leeg is en/of opnieuw wordt aangemaakt.

Het een en ander draait op een dedicated Sun server.

Kan iemand mij vertellen hoe ik dit het beste aanpak.

Ps. er draait maar 1 site op de server dus hoeft geen rekening te houden met eventuele andere sites.

ik ben geen postbode, maar postman Pat rulez!


  • intert0y
  • Registratie: Februari 2000
  • Laatst online: 10-03 15:17
Als een MOD er zin in heeft mag ie ook de typo in mijn topictitel wel ff aanpassen. :)

ik ben geen postbode, maar postman Pat rulez!


  • jep
  • Registratie: November 2000
  • Laatst online: 30-11 17:24

jep

Cronjobje met simpel scriptje :?

Weetje hoe dit moet?

(Zo niet post ik zo wel wat)

  • intert0y
  • Registratie: Februari 2000
  • Laatst online: 10-03 15:17
Het enig dat ik weet van CRON is dat het zeg maar de scheduler is voor die UNIX-achtige machines (vergeef me als ik dingen zeg die niet juist zijn)

Maar ik heb idd niet voldoende ervaring om zoiets zelf te realiseren.

ik ben geen postbode, maar postman Pat rulez!


Verwijderd

Wat dacht je van de super handige tool "rotatelogs" die je bij Apache krijgt geleverd?

  • intert0y
  • Registratie: Februari 2000
  • Laatst online: 10-03 15:17
en dit prog rotate_logs maakt ook automatisch bestanden per maand aan, of roteert alleen de afgelopen maand?

Ik ga namelijk zelf met waarschijnlijk webtrends Log Analyzer de logs analyseren maar dan wil ik dat wel graag per maand doen. Vandaar mijn vraag.

Ik ben overigens webmaster en heb voor de rest niet al teveel verstand van het hele server gebeuren. Dit is overigens ook niet mijn taak maar als ik daar weer de KPN Cyberdesk voor moet inschakelen, dan kost het en een godsvermogen en het duurt weer een tijdje en ik wil het nu geregeld hebben.

ik ben geen postbode, maar postman Pat rulez!


  • jep
  • Registratie: November 2000
  • Laatst online: 30-11 17:24

jep

Rotatelogs is idd netter, maar zo kun je het ook doen:

http://www.superscripts.com/tutorial/crontab.html <- crontab uitleg. 1x per dag instellen en dan /map/van/apache/scriptje met daarin:

#!/bin/bash
datum=`date +%d%m%y`
mv access.log access$datum.log

en die dan in crontab aanroepen..

Bijvoorbeeld, maar als je 't netjes wilt, kijk dan even op http://httpd.apache.org/docs/

Verwijderd

Zowel de crontab methode als de rotatelogs methode zijn redelijk flexibel in te stellen. Die rotatelogs neem je op in je apache config; die directive ziet er dan ongeveer zo uit:

CustomLog "| rotatelogs /waar/je/logfiles/staan/access_log 60
4800" combined

Dat getal daarachter is de "rotate" tijd in seconden als ik me niet vergis; anders: man rotatelogs ;)

Als je geen toegang tot je apache config hebt kun je misschien beter de chron manier gebruiken (als je daar tenminste toegang tot hebt), via zo'n chron scriptje kun je ook oude bestanden meteen wissen e.d. Persoonlijk vind ik die rotatelogs manier beter, omdat ie eenvoudiger is ;)

  • rvm
  • Registratie: November 2000
  • Niet online

rvm

Op maandag 27 augustus 2001 12:01 schreef j3p het volgende:
#!/bin/bash
datum=`date +%d%m%y`
mv access.log access$datum.log
Vergeet niet met 'killall -HUP httpd' o.i.d. Apache te restarten, want anders logt hij gewoon verder in de logfile access$datum.log en niet in access.log (aangenomen dat de oude logs op dezelfde partitie staan).

Verwijderd

Op maandag 27 augustus 2001 12:59 schreef rvm het volgende:

[..]

Vergeet niet met 'killall -HUP httpd' o.i.d. Apache te restarten, want anders logt hij gewoon verder in de logfile access$datum.log en niet in access.log (aangenomen dat de oude logs op dezelfde partitie staan).
of doe een cp ipv een mv ....

  • grep
  • Registratie: Augustus 2001
  • Laatst online: 06-11 13:02

grep

meer begrep...

Op maandag 27 augustus 2001 12:59 schreef rvm het volgende:

[..]

Vergeet niet met 'killall -HUP httpd' o.i.d. Apache te restarten, want anders logt hij gewoon verder in de logfile access$datum.log en niet in access.log (aangenomen dat de oude logs op dezelfde partitie staan).
Ik weet niet hoe dat bij een SUN geregeld is, maar
bij HP-UX stopt het commando 'killall' alle processen.
Niet echt wat je wil, lijkt me.
De apache manual stelt zelf het volgende voor:

1) mv access_log access_log.old (kan dus ook bv. access_log.27082001 zijn)

2) kill -1 `cat httpd.pid`

Specs | Outcast UT clan | You're going to reap what you sow.


  • rvm
  • Registratie: November 2000
  • Niet online

rvm

Op maandag 27 augustus 2001 14:42 schreef grep het volgende:
Ik weet niet hoe dat bij een SUN geregeld is, maar
bij HP-UX stopt het commando 'killall' alle processen.
De apache manual stelt zelf het volgende voor:

2) kill -1 `cat httpd.pid`
Hoe dat bij een SUN werkt weet ik ook niet, maar onder Linux werkt 'killall -HUP httpd' prima. Net als bij kill, kun je bij killall ook een signaal specificeren. Jij gebruikt '-1' en dat is precies hetzelfde als '-HUP'.

Dus beide commando's doen hetzelfde, behalve dan dat killall alle httpd processen herstart (incl. child processes), terwijl jij met kill alleen de parent herstart.

Ik gebruik dit nu al ruim een jaar en tot nu toe zonder problemen. Wellicht is jouw manier beter... enig idee of 'killall -HUP httpd' problemen kan veroorzaken?

  • The Source
  • Registratie: April 2000
  • Laatst online: 22:27
Op maandag 27 augustus 2001 11:59 schreef intert0y het volgende:
Ik ga namelijk zelf met waarschijnlijk webtrends Log Analyzer de logs analyseren maar dan wil ik dat wel graag per maand doen. Vandaar mijn vraag.
Door Webtrends kun je gewoon een lange grote log van bv 48 dagen heen gooien. Door middel van de jou geselecteerde periode of tijdsbestek komen er stats uit. Dus alles mag in grote logfile ziten of 1000 (per uur???) kleine logfiles... Ze mogen in plain tekst of compressed zijn... Webtrends zorgt er wel voor dat het goed komt.

Nog wel een tipje... doe eerst maar HTML output, duurt al lang genoeg. Word output ziet er idd geiler uit maar je comp is ook **iets** langer bezet.

  • grep
  • Registratie: Augustus 2001
  • Laatst online: 06-11 13:02

grep

meer begrep...

Op maandag 27 augustus 2001 16:48 schreef rvm het volgende:

[..]

Hoe dat bij een SUN werkt weet ik ook niet, maar onder Linux werkt 'killall -HUP httpd' prima. Net als bij kill, kun je bij killall ook een signaal specificeren. Jij gebruikt '-1' en dat is precies hetzelfde als '-HUP'.

Dus beide commando's doen hetzelfde, behalve dan dat killall alle httpd processen herstart (incl. child processes), terwijl jij met kill alleen de parent herstart.

Ik gebruik dit nu al ruim een jaar en tot nu toe zonder problemen. Wellicht is jouw manier beter... enig idee of 'killall -HUP httpd' problemen kan veroorzaken?
'k heb voor de gein 'ns gezocht en vond toevallig een of ander forumbericht waarin stond dat killall geen bekend commando op Solaris is.
Het sun-equivalent schijnt pkill te zijn.
Mijn suggestie komt rechtstreeks uit de apache documentatie, dus ik neem aan dat die werkt.

intert0y, ik raad je aan om die apache-manual op jouw machine eens op te roepen, zodat je precies de juiste commando's voor jouw machine krijgt.
De manual wordt standaard online geinstalleerd onder de <apache install dir>/manual/, dus effe met je browser die oproepen.

Specs | Outcast UT clan | You're going to reap what you sow.


  • twixx
  • Registratie: April 2000
  • Niet online
Op maandag 27 augustus 2001 12:10 schreef griebels het volgende:
CustomLog "| rotatelogs /waar/je/logfiles/staan/access_log 60 4800" combined

Dat getal daarachter is de "rotate" tijd in seconden als ik me niet vergis; anders: man rotatelogs ;)
Ik heb even zitten lezen op httpd.apache.org/docs/programs/rotatelogs maar ik snap niet helemaal waar jou 60 op slaat als. Zowiedes lijkt me iedere 80 min. een vreemd getal? Neem b.v. 86400 (24h).

9x Canadian Solar + Enphase IQ7+ 3,4 kWp ZZW 20º
4x Yingli + Enphase IQ7 1 kWp ZZW 25º
4x Yingli + Enphase IQ7 1 kWp ZZW 90º


Verwijderd

Sorry! Typo.. het is 1 getal; dus 604800, waarom 604800 seconden.. da's een week ;)

  • intert0y
  • Registratie: Februari 2000
  • Laatst online: 10-03 15:17
Zo inmiddels weer aan dikke maand verder en ben toch maar aan de webalizer gegaan alleen zit ik nu met een apachelog van 200mb ofzow voor die 2 maanden. Dit is natuurlijk irritant en elke keer als ik statistieken draai (1x per dag) gaat ie weer voor al die IP's reverse DNS lookups doen. Dat duurt dus erg lang.

Kan iemand mij nu vertellen wat ik precies aan de apache_conf moet toevoegen/wijzigen om precies 1x per maand de oude logfile weg te schrijven naar logfile_maand_jaar en een nieuwe te starten.

Ik heb al begrepen dat ik hier het beste rotatelogs voor kan gebruiken. Maar kan iemand mij hier meer over vertellen.

Liefst een complete syntax voor een n00b op sun/solaris/unix/linux/apache/etc/etc gebied :)

ik ben geen postbode, maar postman Pat rulez!


  • intert0y
  • Registratie: Februari 2000
  • Laatst online: 10-03 15:17
*schop*

ik ben geen postbode, maar postman Pat rulez!


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

niks schop.
En je zoekt het nu ook maar zelf uit. Wat je vraagt moet je af kunnen leiden uit wat hier boven staat.
Pagina: 1

Dit topic is gesloten.