Иногда на сервере внезапно заканчивается свободное место - и начинается беготня по командам du, find, lsof, вспоминание синтаксиса и пляски с пайпами. А можно проще. Сохранить себе в закладки bash-скрипт topdiskconsumer, который соберёт всё нужное за тебя.
🌟 Что делает скрипт?
Он запускается из любой директории и автоматически определяет, с какого тома (mount point) нужно искать.
Далее собирает:
▪ Топ-20 самых крупных файлов
▪ Топ-20 самых "тяжёлых" директорий
▪ Топ-20 больших файлов старше 30 дней
▪ Топ-20 удалённых, но не освобождённых файлов (файлы с открытым дескриптором)
🌟 Как это работает?
Скрипт не требует зависимостей, стороннего ПО или установки. Всё - стандартные утилиты:
find, du, sort, lsof. Примеры:▪️ Топ-20 директорий:
du -hcx --max-depth=6 / 2>/dev/null | sort -rh | head -n 20
▪️ Топ-20 файлов:
find / -mount -ignore_readdir_race -type f -exec du -h "{}" + 2>&1 \
| sort -rh | head -n 20
▪️ Старые и объёмные:
find / -mount -ignore_readdir_race -type f -mtime +30 -exec du -h "{}" + 2>&1 \
| sort -rh | head -20
🌟 По умолчанию отображается топ-20, но это можно изменить - задать своё значение в переменной
intNumFiles в начале скрипта или передать флаг -l.🌟 Посмотреть доступные опции:
./topdiskconsumer --help
Ссылка на GitHub 📱
#linux #bash
🧑💻 NetworkAdmin