Давно заметил, что на моем VPS доступная дисковая память начала кончаться. Какое-то время довольствовался удалением бекапов, но когда загрузка дисковой системы достигла 97% решил разбираться с проблемой.
Для начала нужно найти папку, занимающую наибольшее место. Для этого воспользуемся удобной утилитой ncdu. Если у вас ее нет, то установить ее довольно просто:
apt-get install ncdu
Сразу после установки запускаем ее и анализируем какой объем занимают наши папки
ncdu /
В моем случае причиной забитого диска была папка /var/lib/mysql, а вернее огромное количество файлов типа mysql-bin.xxxxxx (где xxxxxx — числа вида 000233) в ней.
Это, как оказалось, бинарные логи mysql. Их предназначение — репликация БД и восстановление баз в случае сбоя. И, естественно, они постоянно накапливаются и старые нужно удалить. Давайте возложим это на сам mysql.
Для этого открываем конфиг mysql /etc/mysql/my.cnf и добавим в него в секцию [mysqld] одну строчку
expire_logs_days = 14
В этом случае будут храниться логи за последние 14 дней, а старые удаляться.
После этого перезагрузим mysql командой /etc/init.d/mysql restart
В итоге в моем случае папка /var/lib/mysql уменьшилась с 6,6 Гб до 931Мб, т. е. в 7 раз. Очень неплохо!
