Magento houdt erg veel bezoekersstatistieken bij door de informatie te ‘loggen’ in de database. Dat is nuttige informatie, maar een nadeel is dat de database zichzelf niet automatisch leegt. Om te voorkomen dat de database overvol raakt en niet meer vooruit te branden is, is het verstandig gebruik te maken van de Magento functie Log Cleaning. Op deze pagina geven we meer uitleg over wat de functie inhoudt, en hoe deze in-/uitgeschakeld kan worden.

Wat is Magento logging?

Magento houdt zelf intern een aantal logs bij. Het is dan ook heel handig om te weten waar ze staan en hoe je Magento logging aan/uit kan zetten. Lees meer informatie over deze functie op de pagina Magento Logging. Deze logs kunnen je helpen bij het opsporen van problemen, maar daarentegen kunnen ze ook voor belasting op je site zorgen. Het is daarom dat ze regelmatig verwijderd moeten worden.

Inzicht in grootte van de Var/Log directory via MageReport.com

Iedereen kan zijn Magento shop scannen met MageReport.com en checken of er beveiligingsproblemen zijn, zoals patches die niet zijn geïnstalleerd. Heb je een Hypernode dan krijg je als klant van Byte nog meer inzicht in de performance van je shop, waaronder de grootte van de Var/Log directory. MageReport voor Hypernode-gebruikers wordt MageReport Premium genoemd. Ga naar MageReport.com en klik rechtsboven op “Sign In” om met je klantnummer en wachtwoord van je Byte account in te loggen.

Magento log cleaning starten met behulp van een cronjob

De log cleaning van Magento wordt uitgevoerd op het moment dat cron.php aangeroepen wordt. Dit script is ervoor gemaakt om vanuit de crontab gestart te worden. Mocht je Magento’s cron.php nog niet ingericht hebben dan dien je eerst de cronjob zo in te richten dat cron.php elke vijf minuten (of meer) aangeroepen wordt.

Meer informatie over het instellen cronjobs vind je op de pagina Cronjobs (periodieke taken) instellen.

Voorbeeld van een cron.

*/5 * * * * /usr/bin/lockrun --quiet --lockfile=.cronlock -- /bin/sh /home/user/domeiftp/domein.nl/cron.sh

Magento log cleaning periodiek uitvoeren

Log cleaning werkt als de Magento cron.php ingesteld is om periodiek uitgevoerd te worden. Loopt deze niet dan loopt log cleaning ook niet.

Automatische Magento log cleaning

Deze is te vinden in het Magento Admin panel onder:

Magento log cleaning

afb.1 Magento Log Cleaning
Magento backend >> System >> Configuration >> Advanced >> System >> Log Cleaning.

De belangrijkste instelling is Save Log, Days, dat is het aantal dagen dat Magento de bezoekersstatistieken in de database bijhoudt. Onze ervaring is dat Magento in 180 dagen de database aardig weet te vullen en daarom raden we aan het aantal dagen terug te brengen tot tussen de 30 en 0 dagen. Daarnaast moet enable log cleaning uiteraard aan staan voordat de log cleaning daadwerkelijk toegepast wordt.

De volgende tabellen worden door Magento log cleaning geleegd:

  • log_customer
  • log_visitor
  • log_visitor_info
  • log_url
  • log_url_info
  • log_quote
  • report_viewed_product_index
  • report_compared_product_index
  • report_event
  • catalog_compare_item

Handmatige Magento log cleaning

Dit is de meest effectieve manier om je logs op te schonen, maar wel de meest arbeidsintensieve. Daarnaast is het alleen geschikt voor mensen die bekend zijn met het direct werken in de database. Er zijn twee mogelijkheden waarop je de database handmatig kunt opschonen: via shell en PHPMyAdmin. Zie de uitleg hieronder.

Handmatige Magento log cleaning via shell

Log middels Shell in op je website en ga naar de root van je Magento installatie.

php -f shell/log.php clean

Handmatige Magento log cleaning via PHPMyAdmin

  1. Open de database in PhpMyAdmin & leeg de volgende tabellen:
    • dataflow_batch_export
    • dataflow_batch_import
    • log_customer
    • log_quote
    • log_summary
    • log_summary_type
    • log_url
    • log_url_info
    • log_visitor
    • log_visitor_info
    • log_visitor_online
    • report_viewed_product_index
    • report_compared_product_index
    • report_event
  2. Selecteer onderaan de tabel vanuit de dropdownlijst “With Selected:” de optie “Empty” en bevestig de actie.

 

 

60