Немного личного опыта
Сколько раз ловил себя на мысли: “Опять место кончилось? Почему никто не предупредил хотя бы на 5 ГБ раньше?!”
Я уж молчу, что бэкапы перестали умещаться (правда это отдельная, хоть и связанная тема, см. прошлый выпуск в серии “Маленькие полезности”).
Устав бороться с последствиями вручную, сделал себе маленький Telegram-бот, который мониторит наличие свободного места на дисках и по расписанию присылает отчёт. Теперь делюсь этим инструментом — вдруг ещё кого выручит.
Что это такое
DiskSpaceControl.exe — маленькая утилита, которая проверяет свободное место на ваших дисках и пишет прямо в Telegram, если ситуация близка к катастрофе.
- Все параметры — в обычном ini-файле (bot.ini). Любые правки — через мастер настройки (BotSetup.exe) или Блокнот.
- Токен Telegram-бота хранится в зашифрованном виде — никто не стырит даже если забудете ноут разблокированным.
- Используется только стандартный Telegram Bot API — никаких сторонних сервисов, вебхуков или облаков.
- Всё происходит через официальные запросы по адресу вида: https://api.telegram.org/bot<токен>/sendMessage
- Никаких зависимостей кроме интернета не требуется.
Как это использовать
- Скопируйте всё в любую папку (где вам удобно хранить exe и ini).
- Запустите BotSetup.exe — он всё спросит и объяснит:
- Где взять токен (BotFather),
- Как узнать chat id (через бота или api.telegram.org),
- Нормально отвалидирует все ответы (от “да/нет” до порога тревоги).
- Запускайте DiskSpaceControl.exe — получите отчёт в Telegram.
- Хотите поменять параметры — снова запускайте мастер или правьте ini.
Как автоматизировать запуск мониторинга
Чтобы мониторинг запускался сам по расписанию (а не только вручную), в комплекте идут три простых bat-файла:
- add_task.bat — добавляет задачу в “Планировщик заданий” Windows (Task Scheduler). Перед запуском спросит, как часто запускать мониторинг: каждый час, раз в 6 или 12 часов, либо раз в сутки. Всё на русском и понятно. После выполнения задача будет запускаться автоматически в нужное время.
- remove_task.bat — удаляет задачу из планировщика, если она больше не нужна (например, уезжаете в отпуск или меняете политику мониторинга).
- run_dsc.bat — вручную запускает мониторинг из текущей папки. Удобно для тестирования: сразу увидеть, что отчёт доходит в Telegram и всё работает, как задумано.
Почему именно так?
Планировщик Windows по умолчанию запускает программы с “рабочей папкой” в System32, а не рядом с exe. По этой причине через планировщик и от системного пользователя имеет смысл ВСЕГДА запускать именно батник — так утилита точно найдёт bot.ini в своей директории.
Что делает этот бот
- Отправляет отчёт в Telegram, если на любом из дисков меньше заданного порога ГБ.
- Можно указать список дисков, которые мониторить (или оставить все).
- Можно выбрать: тревожить только при проблемах или всегда.
- Вся конфигурация в одном ini-файле, легко сделать резервную копию.
Почему это удобно
- Не потребуется сложной установки, работает из коробки на .NET 4.8. В наши дни это значит, что буквально везде.
- Настраивается за пару минут даже сонным админом.
- Telegram Bot API поддерживается официально, работает везде, где есть интернет.
- Токен бота защищён — не валяется открытым текстом.
- Для восстановления/переноса достаточно одного ini.
P.S.
Если эта штука хоть раз предупредит вас о “малом месте” ДО того, как разъярённая бухгалтёрка начнёт обрывать телефон — цель достигнута!
Будут вопросы — пишите в комменты, буду рад пообщаться!