mysqld ne démarre pas car l'espace disque est plein:
101221 14:06:50 [ERROR] /usr/libexec/mysqld: Error writing file '/var/run/mysqld/mysqld.pid' (Errcode: 28)
101221 14:06:50 [ERROR] Can't start server: can't create PID file: No space left on device
en cours d'exécution df -h
:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 16G 3.2G 12G 23% /
/dev/sda5 4.8G 4.6G 0 100% /var
/dev/sda3 430G 855M 407G 1% /home
/dev/sda1 76M 24M 49M 33% /boot
tmpfs 956M 0 956M 0% /dev/shm
du -sh *
dans /var
:
12K account
56M cache
24K db
32K empty
8.0K games
1.5G lib
8.0K local
32K lock
221M log
16K lost+found
0 mail
24K named
8.0K nis
8.0K opt
8.0K preserve
8.0K racoon
292K run
70M spool
8.0K tmp
76K webmin
2.6G www
20K yp
dans /dev/sda5
, il y a des fichiers de site Web dans /var/www
.
car c'est la première fois, je n'ai aucune idée des fichiers à supprimer à part le déplacement /var/www
vers une autre partition
Et encore une fois, quelle est la bonne façon de supprimer les fichiers journaux, l'historique, etc. /dev/sda5
?
Quelle est la ventilation
/var/lib
? Si c'est comme mon système, la majeure partie (disons 500 Mo) est occupée par/var/lib/mysql
?Les autres chiffres semblent tous assez normaux et raisonnables, donc émouvants
/var/lib/mysql
et/var/www
sont les seules solutions réalistes à long terme.Pour enlever les anciens fichiers journaux, sont vos journaux étant mis en rotation, par exemple vous avez
/var/log/messages
,/var/log/messages.1
,/var/log/messages.2.gz
, etc, ou peut - être/var/log/messages-20101221
,/var/log/messages-20101220.gz
etc?La manière évidente de les supprimer est par âge, par exemple
Vérifiez également que vos paramètres de rotation de journal
/etc/logrotate.conf
sont ceux que vous souhaitez. Je dirais que vous ne devriez pas les changer, car ce n'est pas votre problème principal, mais peut-être que vous ne souhaitez conserver que les journaux d'une semaine, auquel cas essayez quelque chose comme ceci:Ensuite, il y a des fichiers pour chaque service, par exemple syslog, mysql, apache, etc. pour configurer la rotation des journaux pour chacun d'eux. Sur les systèmes Debian et Red Hat, cela devrait déjà être configuré pour vous.
Si vous n'avez pas encore logrotate, c'est un peu plus difficile. Je chercherais à utiliser grep ou tail pour enregistrer les entrées récentes, puis à supprimer le fichier et à redémarrer syslogd (par exemple,
service syslogd restart
oupkill -HUP syslogd
.Enfin, un script que j'ai écrit pour cette situation est
diskuse
.la source