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