Christophe Ti

(Christophe TREMBLAY-GUILLOUX)

Ingénieur système Linux – TJM: 630 € HT

L’impression d’être entouré ou conseillé par des soi-disant « Expert Linux » (avant qu’ils ne disparaissent du radar) ?

Christophe est l’ULTIME expert en système Linux, hébergement web et développement Puppet que vous garderez dans vos contacts… à vie.

OMG! Deux tables WordPress sont grosses.

ALERTE !!!

J’ai remarqué deux tables étranges dans la base de données de WordPress.

Elles sont énormes !

Cela ralentit probablement certaines requêtes sur le site.

Mais aussi ça prend de la place pour rien.

Et les sauvegardes sont très très grosses !

Alors j’ai cherché un peu et il est possible de nettoyer les anciennes données régulièrement.

J’ai mis ce script bash (qui est un template) en tâche automatique :

				
					#!/bin/bash

DB_USER='<%= @dbname %>'
DB_NAME='<%= @dbuser %>'
DB_PASSWORD='<%= @dbpassword %>'
INTERVAL='1 week'
MYSQL_COMMAND="mysql -N -u ${DB_USER} -p${DB_PASSWORD} ${DB_NAME} -e"

# Nettoyage table actions
SQL="SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME REGEXP '_actionscheduler_actions$' AND TABLE_SCHEMA = '${DB_NAME}';"
TABLE_ACTIONS=`${MYSQL_COMMAND} "${SQL}"`

SQL="DELETE FROM \`${TABLE_ACTIONS}\` WHERE \`scheduled_date_local\` < now() - interval ${INTERVAL};"
${MYSQL_COMMAND} "${SQL}"

# Nettoyage table logs
SQL="SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME REGEXP '_actionscheduler_logs$' AND TABLE_SCHEMA = '${DB_NAME}';"
TABLE_ACTIONS=`${MYSQL_COMMAND} "${SQL}"`

SQL="DELETE FROM \`${TABLE_ACTIONS}\` WHERE \`log_date_local\` < now() - interval ${INTERVAL};"
${MYSQL_COMMAND} "${SQL}"
				
			

Il faut penser à paramétrer DB_USER, DB_NAME et DB_PASSWORD.

Maintenant, cela va maintenir une certaine limite de taille dans la base de données.

Bien sûr, il faut aussi avoir des indexes corrects pour ne rien ralentir.

Parfois, il est possible d’en ajouter pour accélérer WordPress, ça demande d’étudier la base de données et les extensions installées (ça prend du temps).

Quelle est la mystérieuse ingénierie qui me permet d'obtenir un serveur Linux fiable et performant, sans devoir monter la garde jour et nuit ?