Проблема нехватки места на диске, или df и cron вам в помощь!

Очень часто бывает так, что начинающие администраторы, при инсталляции системы (а именно, при задании размера тех или иных разделов жесткого диска), задают небольшим тот или иной раздел. Впоследствии они "находят" себе работу, решая назревшую проблему нехватки места, при помощи удаления "хоть каких-нибудь ненужных системе" файлов или вновь приходят к решению переопределения разделов диска.


Также с проблемой нехватки свободного места на жестких дисках сталкиваются администраторы корпоративных серверов, обслуживающих большое количество "активных" пользователей, которые хранят в своих домашних каталогах несметное количество нужных им файлов. Это хорошо, если вы, как администратор, обслуживающий сервер, находитесь непосредственно у сервера и каждый день посматриваете на "активность" пользователей. А если этот сервер территориально удален от вашего текущего месторасположения?

Итак, проблема назрела и решать ее надо сейчас. Что же, решить эту проблему можно не одним способом, в данном случае, мы прибегнем к помощи утилиты df и службы cron.

Собственно решение этой проблемы заключается в создании файла, который будет определять состояние разделов жесткого диска и затем отсылать результаты на ваш e-mail, оповещая вас. Хотите ежедневно, хотите еженедельно - в этом нам поможет служба cron.

Итак, содержимое файла (давайте назовем его df.sh), который вы можете создать, воспользовавшись вашим любимым текстовым редактором:

#!/bin/sh
df -h > /tmp/df.txt
uuencode /tmp/df.txt /tmp/df.txt | mail user@domain.ru
rm /tmp/df.txt

После того, как вы создали файл df.sh и сохранили его в своем домашнем каталоге, вам необходимо определить ему права на выполнение. Сделать это можно следующей командой:

chmod u+x df.txt

Теперь, когда вы сделали все вышеописанное, вы можете протестировать свою работу, выполнив запуск файла df.sh командой:

./df.sh

Если у вас правильно настроен sendmail (или любой из почтовых агентов), вы должны получить почтовое сообщение на свой e-mail. Проверьте почту, я уверен, что письмо уже дошло!

Теперь нам осталось автоматизировать процесс отсылки сообщений на ваш e-mail. Поможет нам в этом внесение в файл /etc/crontab следующей строки:

0 9 * * /home/vasya/df.sh

и ровно в 9 утра каждого дня на ваш e-mail будет отправляться письмо с данными по состоянию свободного места на разделах диска(-ов) и, вы почувствуете, что у вас освободилось время для решения других, не менее важных задач.

Удачи, и не переживайте по пустякам!