Если Вы не следите за оставшимся свободным местом в корневом разделе — то Вас могут ожидать неприятные новости. В случае переполнения данного раздела, важные для Вашего проекта сервисы перестанут работать. Согласитесь, неработающий MySQL или web server скажется на проекте не лучшим образом.

Одним из лучших решений данного вопроса будет использование некоторых утилит, которые помогут Вам определить в чем же проблема, что именно занимает дисковое пространство. Тот момент, когда оно постепенно заполняется, приводит к сложностям проведения анализа данной проблемы. Для этого существует ряд команд, которые помогут Вам провести мониторинг довольно быстро. Чаще всего виновником данной проблемы является «демон», активно записывающий свои действия в лог файл (привет людям, которые не настраивают ротацию логов, или забывают выключать режим debug в сервисах после отладки).
Поиск самых больших файлов
В такие моменты главная задача — оперативно найти необходимое свободное место. Самый простой метод — использование df вместе с du: #df -h — покажет место по разделам; #du -sh /directory занимаемое место директорией (ключ -s уберет лишний вывод).
Наиболее вероятный виновник — /var/log второй по месту /home/, дальше идут /backup & /var/www/. В случае, когда виноват лог web-server'a, достаточно удалить или очистить файл лога. Обратите внимание, что в случаях когда файл держится демоном (лог apache) для пересчета свободного места стоит дернуть apache, обнулить файл можно следующей командой # echo ‘’ > /var/log/httpd/httpd.log.
Если у Вас возникли некоторые вопросы по общему объему памяти, то Вы можете воспользоваться командой df -h и узнать объем свободного пространства в файловой системе. Итак, начнем:
Редким является вариант, когда df -h показывает свободных 88% в разделе, но создание файла невозможно. В таком случае стоит использовать df с ключом -i, команда # df , вызванная с данным ключом покажет значение свободных inode для файловой системы.
Добавив ключ -l (local) — Вам выведутся данные только о локально-смонтированных файловых системах:
Используя команду sort, Вы сортируете строки, входящие во все исходные файлы. Если имена файлов не указаны, или в качестве файла указан -, исходная информация поступает со стандартного ввода. Добавив опцию -n (числовое сравнение) с помощью которой сначала отбрасываются начальные пробелы, затем цифровые цепочки символов, содержащие быть может знак минус и десятичную точку, Вы получаете следующий результат:
С помощью утилиты du (disk used) Вы получаете отчет об использовании дискового пространства заданными файлами, а также каждым каталогом иерархии подкаталога каждого указанного каталога. Если Вы запустили команду без аргументов, то команда du выдает отчет о дисковом пространстве для текущего каталога.
Добавив параметр — — time Вы получите вывод данных с указанным временем модификации.
Вы также можете запустить поиск больших файлов, используя команду find:
Удобная утилита для общей оценки занимаемого места и очистки уже неактуальных данных ncdu — предоставляет псевдографический интерфейс, и удобную навигацию. Из минусов: не подходит для экстренных ситуаций описанных вначале статьи, т.к. ncdu сначала подсчитывает весь объем файлов указанного диска (директорий), и только собрав требующую информацию, выдает результат, с которым можно работать.
P.S. Мы проводим акцию специально для читателей Хабра. Пост с подробностями тут.

Одним из лучших решений данного вопроса будет использование некоторых утилит, которые помогут Вам определить в чем же проблема, что именно занимает дисковое пространство. Тот момент, когда оно постепенно заполняется, приводит к сложностям проведения анализа данной проблемы. Для этого существует ряд команд, которые помогут Вам провести мониторинг довольно быстро. Чаще всего виновником данной проблемы является «демон», активно записывающий свои действия в лог файл (привет людям, которые не настраивают ротацию логов, или забывают выключать режим debug в сервисах после отладки).
Поиск самых больших файлов
В такие моменты главная задача — оперативно найти необходимое свободное место. Самый простой метод — использование df вместе с du: #df -h — покажет место по разделам; #du -sh /directory занимаемое место директорией (ключ -s уберет лишний вывод).
Наиболее вероятный виновник — /var/log второй по месту /home/, дальше идут /backup & /var/www/. В случае, когда виноват лог web-server'a, достаточно удалить или очистить файл лога. Обратите внимание, что в случаях когда файл держится демоном (лог apache) для пересчета свободного места стоит дернуть apache, обнулить файл можно следующей командой # echo ‘’ > /var/log/httpd/httpd.log.
Если у Вас возникли некоторые вопросы по общему объему памяти, то Вы можете воспользоваться командой df -h и узнать объем свободного пространства в файловой системе. Итак, начнем:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-root 53G 44G 6.2G 88% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/vda1 485M 45M 415M 10% /boot
/dev/mapper/vg0-temp 2.0G 75M 1.8G 4% /tmp
Редким является вариант, когда df -h показывает свободных 88% в разделе, но создание файла невозможно. В таком случае стоит использовать df с ключом -i, команда # df , вызванная с данным ключом покажет значение свободных inode для файловой системы.
# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg0-root 3506176 320241 3185935 10% /
tmpfs 240295 1 240294 1% /dev/shm
/dev/vda1 128016 44 127972 1% /boot
/dev/mapper/vg0-temp 131072 275 130797 1% /tmp
Добавив ключ -l (local) — Вам выведутся данные только о локально-смонтированных файловых системах:
# df -hl
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-root 53G 44G 6.2G 88% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/vda1 485M 45M 415M 10% /boot
/dev/mapper/vg0-temp 2.0G 75M 1.8G 4% /tmp
Используя команду sort, Вы сортируете строки, входящие во все исходные файлы. Если имена файлов не указаны, или в качестве файла указан -, исходная информация поступает со стандартного ввода. Добавив опцию -n (числовое сравнение) с помощью которой сначала отбрасываются начальные пробелы, затем цифровые цепочки символов, содержащие быть может знак минус и десятичную точку, Вы получаете следующий результат:
# df -hl | sort -n
/dev/mapper/vg0-root 53G 45G 5.9G 89% /
/dev/mapper/vg0-temp 2.0G 75M 1.8G 4% /tmp
/dev/vda1 485M 45M 415M 10% /boot
Filesystem Size Used Avail Use% Mounted on
tmpfs 939M 0 939M 0% /dev/shm
С помощью утилиты du (disk used) Вы получаете отчет об использовании дискового пространства заданными файлами, а также каждым каталогом иерархии подкаталога каждого указанного каталога. Если Вы запустили команду без аргументов, то команда du выдает отчет о дисковом пространстве для текущего каталога.
# du
8 ./.config/htop
12 ./.config
5056 ./.xmlcache/ispmgr/checked
15048 ./.xmlcache/ispmgr
752 ./.xmlcache/core/checked
4440 ./.xmlcache/core
1088 ./.xmlcache/ispmgrnode/checked
6780 ./.xmlcache/ispmgrnode
26284 ./.xmlcache
20 ./.ssh
168 ./.gem/specs/api.rubygems.org%443/quick/Marshal.4.8
172 ./.gem/specs/api.rubygems.org%443/quick
8376 ./.gem/specs/api.rubygems.org%443
8380 ./.gem/specs
8384 ./.gem
8 ./.spamassassin
4 ./.mc/cedit
32 ./.mc
12 ./mod
Добавив параметр — — time Вы получите вывод данных с указанным временем модификации.
# du --time . | sort -k2 | tail -5
5056 2015-07-29 17:11 ./.xmlcache/ispmgr/checked
20 2015-09-03 18:04 ./.ssh
4 2015-10-15 12:42 ./test
32 2015-10-20 19:38 ./.mc
1245816 2015-11-06 13:50 .
Вы также можете запустить поиск больших файлов, используя команду find:
# find . -size +1M -ls | sort -n -k7
15089762 1264 -rw-r----- 1 shs staff 1289365 Feb 24 2015 ./bin/235.log
12731834 1724 -rw-r----- 1 shs staff 1761280 Oct 15 2015 ./bin.tar
13320206 2192 -rw------- 1 shs staff 2239058 Dec 8 2015 ./mail/lab7
13320203 6308 -rw------- 1 shs staff 6443348 Oct 26 2015 ./mail/lab6
12731744 19736 -rw-r----- 1 shs staff 20183040 Jul 29 2015 ./backup.tar
Удобная утилита для общей оценки занимаемого места и очистки уже неактуальных данных ncdu — предоставляет псевдографический интерфейс, и удобную навигацию. Из минусов: не подходит для экстренных ситуаций описанных вначале статьи, т.к. ncdu сначала подсчитывает весь объем файлов указанного диска (директорий), и только собрав требующую информацию, выдает результат, с которым можно работать.
P.S. Мы проводим акцию специально для читателей Хабра. Пост с подробностями тут.