O mysqld não inicia porque o espaço em disco está cheio:
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
executando 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 *
em /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
em /dev/sda5
, há arquivos de site em /var/www
.
porque esta é a primeira vez, não tenho idéia de quais arquivos remover além de mudar /var/www
para outra partição
E mais uma, qual é a maneira correta de remover arquivos de log, histórico etc. /dev/sda5
?
hard-drive
disk-space-utilization
partition
Kopeklan
fonte
fonte
Qual é o colapso
/var/lib
? Se for como o meu sistema, a maior parte (por exemplo, 500 MB) é ocupada por/var/lib/mysql
?Todos os outros números parecem bastante normais e razoáveis, tão comoventes
/var/lib/mysql
e/var/www
são as únicas soluções realistas de longo prazo.Para remover arquivos de log antigos, são seus registros a ser rodado, por exemplo, você tem
/var/log/messages
,/var/log/messages.1
,/var/log/messages.2.gz
, etc, ou talvez/var/log/messages-20101221
,/var/log/messages-20101220.gz
, etc?A maneira óbvia de removê-las é por idade, por exemplo
Além disso, verifique se as configurações de rotação do log
/etc/logrotate.conf
são o que você deseja. Eu diria que você não deve alterá-los, pois esse não é o seu principal problema, mas talvez você queira apenas manter os registros de uma semana; nesse caso, tente algo como isto:Depois, existem arquivos para cada serviço, por exemplo, syslog, mysql, apache, etc. para configurar a rotação do log para cada um deles. Nos sistemas Debian e Red Hat, isso já deve estar configurado para você.
Se você ainda não possui logrotate, é um pouco mais difícil. Eu usaria grep ou tail para salvar as entradas recentes, excluir o arquivo e reiniciar o syslogd (por exemplo,
service syslogd restart
oupkill -HUP syslogd
.Finalmente, um roteiro que escrevi para essa situação é
diskuse
.fonte