Пропали рубрики и метки в WordPress

Как решить проблему исчезновения рубрик и меток.

Предыстория.

На клиентском VDS стали странно отображаться сайты, половина содержимого главных страниц просто исчезла. Нет ссылок на страницы, отображается только статичская часть страниц. При попытке перейти на страницы возникает 500 ошибка апача. Захожу в админку WordPress одного из сломавшихся сайтов и вижу, что все записи на месте, а рубрик нет. Причём, сам WP не дал бы удалить все рубрики, одна должна быть всегда, иначе нарушится целостность БД. Первым делом решил загуглить проблему, у всех сталкивавшихся с этим явлением были ссылки на таинственные проблемы у хостера или повреждённые базы. Ок, буду разбираться своими силами. Codex WordPress предлагает решить проблему при помощи восстановления таблиц MySQL. Захожу в серверный phpmyadmin, а он не может соединиться с СУБД. VestaCP не даёт залогониться не сообщая об ошибке. Зайдя на сервер через консоль не обнаружил ничего необычного, памяти хватает, все процессы на месте. Обычно при нехватке ресурсов ядро начинает убивать процессы и это заметно сразу, при этом mysql будет одним из первых 🙂 Перезагрузил mysql и httpd. Через консоль без проблем подключился к mysql.  Если бы это была хакерская выходка, то какая-то уж очень странная. В дырявый WP обычно встраивают вредоносный код и на этом вмешательство ограничивается. Да и на сервере всё наглухо закрыто. Я уже хотел открывать логи, но решил проверить место на диске и вот что я обнаружил:

Причина такого аномального поведения сервера стала понятной 🙂

Решение

Решение проблемы заключается в очистке диска.

Ищем все большие файлы на сервере (>50Mb):

Ещё одно интересное решение для поиска 10 самых больших файлов на сервере:

Проблема оказалась в нескольких разросшихся логах и паре бэкапов. После очистки диска все сайты на WordPress заработали в штатном режиме.