Apache logs doorzoeken met Ruby

Op mijn pad naar het Ruby) Meesterschap moet ik vele bergen overwinnen. Een van de eerste is uiteraard om reguliere expressies onder de knie te krijgen. En wat is beter daarvoor dan de webserverlogs?En eens de reguliere expressie goed is, is het een eitje met Ruby.

#!/usr/bin/rubydatafile = open(ARGV[0])reg = Regexp.new('^([^\s]).] "GET\s[\s]HTTP/[\d].[\d]"[\s]404[\s][\d]{3,3}.*$')datafile.readlines.each {|line|  if line =~ reg then    puts "#$1 could not find #$2"  end}
Als er een 404 gevonden wordt, dan wordt er een regeltje afgedrukt met de host of het IP adres van de bezoeker en de pagina die niet werd gevonden.

Dit artikel verscheen op bler.webschuur.com. En is overgezet naar dit blog

in programming53 ruby25

Over de auteur: Bèr Kessels is een ervaren webdeveloper met een grote passie voor techniek en Open Source. Een gouden combinatie om de techniek goed en efficiënt toe te passen. Volg @berkes op Twitter. Of lees meer over Bèr.

blog comments powered by Disqus