Для каждого системного администратора важно, чтобы на серверах и рабочих станциях linux, которыми они управляют, всегда было свободное дисковое пространство.
Лучший способ это сделать — начать использовать простые команды и направлять их вывод в другие, для получения результата. Для этого мы будем использовать утилиту xargs, которая может выводить команду и передавать её в качестве аргумента другой команде.
Конченый скрипт для проверки свободного места будет выглядеть так:
ls | xargs du -sk 2> /dev/null | sort -n | tail -5 | awk '{ print $2 }' | xargs du -sh
Некоторые пояснения:
- Сначала следует проверить место в корневом каталоге командой df -h и в случае, если вы обнаружили, что файловая система на грани, то используйте скрипт приведенный выше.
- Данный скрипт выводит только 5 самых больших каталогов по объему занимаемого пространства (количество можно изменить, например указав tail -10).
- Вывод ошибок направлен в /dev/null для каталогов к которым нельзя получить доступ.
Вроде бы не сложно. Я использую этот скрипт в сочетании с мониторингом Zabbix.