Grand coup de stress pour moi ce soir ! En effet, les requêtes SQL des sites hébergés sur cette machine n’avaient plus aucun sens: drop, réponses érronées et j’en passe.. en jetant un oeil dans les logs j’ai trouvé ça:
1 2 3 | [Tue Jun 16 18:05:28 2009] [error] [client x.x.x.x] Got error 28 from storage engine query: SELECT * FROM ... [Tue Jun 16 18:06:58 2009] [error] [client x.x.x.x] Got error 28 from storage engine query: SELECT * FROM ... [Tue Jun 16 18:07:18 2009] [error] [client x.x.x.x] Got error 28 from storage engine query: SELECT * FROM ... |
Il se trouve que cette erreur arrive quand MySQL n’a plus d’espace disque disponible… En effet, le script – buggy – ne supprimais plus les vieux backups lors de la création de nouveaux. J’en suis vite arrivé a saturer ma partition temporaire. Erreur de débutant !
1 2 3 | $ df -h Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur /dev/md1 10G 10G 7,3G 0% /tmp |
Pour me rendre d’autant plus utile, voici un petit script pour monitorer l’espace utilisé sur vos disque, il enverra un mail en cas d’utilisation d’une partition a plus de 95%.
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/sh df -H | grep -vE '^[a-zA-Z]|tmpfs|cdrom|udev' | awk '{ print $5 " " $1 }' | while read line; do #echo $line usep=$(echo $line | awk '{ print $1}' | cut -d'%' -f1 ) partition=$(echo $line | awk '{ print $2 }' ) if [ $usep -ge 95 ]; then echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" | mail -s "Alert: Almost out of disk space $usep%" alertme@crashdump.fr fi done |
A ajouter dans vos crontabs:
1 | */30 * * * * /path-to-file/mail-warn-disk-usage.sh |
Sur ce, je peux reprendre un activité normale.. détendu !



Autant je trouve que le php et le Mysql ce marie bien entre eux, autant je trouve quand meme que le mysql est un langage assez moche…
Mais sinn bravo ;)
C'est avec des petits bouts de codes qu'on forme un bon programme!