[Script] Ignorer une ligne spécifique
Bonjour,
Je reviens vers vous.
Je souhaite connaitre le nombre de table SQL ayant une taille supérieur à 4000 (MB).
Sur la totalité de ces table, je souhaite ignorer celle nommé "event_data" sachant que les autres se nomme "event_dataXXXX"
J'utilise le "script" ci-dessous pour compter le nombre de table ayant une taille superieur à 4000 :
Code:
1 2
| cmd=$(mysql -uuser -ppwd BDD -e ' select table_name AS "Tables", round(((data_length + index_length) / 1024 / 1024), 2) "Taille en MB" from information_schema.TABLES where table_schema = "BDD" AND table_name like "%event_data%" ' | cut -f2 -d"|" | cut -f2 | awk 'BEGIN {n=0 } { if ($1 >= 4000) n++ } END { print n }')
echo $cmd |
Mes deux problèmes sont :
1) Le nombre de table ayant une taille > à 4000 est 1 seule, alors que la commande me retourne 2 ??
2) Je souhaite ignorer la table (ligne) "event_data" mais je ne sais pas du tout comment faire malgré mes recherches.
Si vous auriez une idée.
Merci,
Malik.
Voici la commande permettant de voir les tailles des bases qui m'interresse :
Code:
mysql -uuser -ppwd BDD -e ' select table_name AS "Tables", round(((data_length + index_length) / 1024 / 1024), 2) "Taille en MB" from information_schema.TABLES where table_schema = "BDD" AND table_name like "%event_data%" ' | less
Ici, le résultat de cette commande :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Tables Taille en MB
event_data 663766.15
event_data10000 727.45
event_data10001 681.22
event_data10002 688.73
event_data10003 628.62
event_data10004 705.44
event_data10005 747.45
event_data10006 717.04
event_data10007 681.40
event_data10008 750.94
event_data10009 735.66 |
Je souhaite donc ignorer la première ligne "event_data 663766.15"