Log files filter v2.0

Het probleem:

De webserver bij cellie thuis begint een beetje cloud kenmerken te krijgen en de apache2 log files worden behoorlijk lang. Er zijn een paar machines die het leeuwendeel van de verbindingen maakt en waarmee de logfiles vol staan. Dat zijn de ipadressen van thuis router/modems die geautoriseerd zijn om bijvoorbeeld muziek te streamen vanuit de collectie thuis.

De oplossing:

In plaats van deze entries in de logfiles allemaal te bekijken worden deze allemaal naar een nieuw bestand geschreven minus de ‘bekende’ pc’s etc.
De data staat nog steeds allemaal gelogd, maar pas bij optredende problemen en steeksproefgewijs gaat Cellie net als in de matrix rauwe log files bekijken.
Zoland alles lekker draait word er gelet op ‘vreemd’ dataverkeer en wat minder op de file serving aan bekende clients.

Het commando:

grep -w -v '192.168.2.254\|77.161.115.21\|77.251.164.98' /var/www/cellie.homeip.net/logs/*  > /media/storage/extern_acces.txt
  1. De -w optie, waarmee je aangeeft dat je meerdere strings zoekt. (zie punt 3)
  2. De -v optie is de negatie van de zoekopdracht, dus in plaats van zoeken naar het voorkomen van een string, zoeken naar het niet voorkomen van die string.
  3. '192.168.2.254\|77.161.115.21\|77.251.164.98' staat voor de 3 strings, in dit geval ip adressen die gezocht worden.
    '\|' is de scheidingsteken tussen 2 strings.
  4. /var/www/cellie.homeip.net/logs/* is de input.
  5. /media/storage/extern_acces.txt is de output.

In het nederlands:

Zoek naar regels in alle bestanden in /var/www/cellie.homeip.net/logs/ waar één van de teksten 192.168.2.254 of 77.161.115.21 of 77.251.164.98 NIET in voorkomt en schrijf die weg als /media/storage/extern_acces.txt.

De volgende variatie doet hetzelfde maar nu met de standaard error files in plaats van de virtual host files die hierboven worden gebruikt. (In Ubuntu-achtige OSsen)

grep -w -v '192.168.2.254\|77.161.115.21\|77.251.164.98' /var/log/apache2/*.log  > /media/storage/extern_error.txt