Linux

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