береженого кольт бережет
береженого кольт бережет

Проверка свободного места в Linux

В такие моменты главная задача — оперативно найти необходимое свободное место. Самый простой метод — использование 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 сначала подсчитывает весь объем файлов указанного диска (директорий), и только собрав требующую информацию, выдает результат, с которым можно работать.