Во первых, в разных версиях Астры разный вывод.
Во вторых, да же не знаю, было свободное время, и стало интересно как можно еще получить данные параметры.
Возможно не корректно выразился, в одной версии мы видим имя устройства (/dev/sdaX), в другой устройство по uuid (/dev/disk/by-uuid/....).
Так что, почему бы и не через stat попробывать? =)
С современными init-системами нет совершенно никакого смысла делать явный форк и вручную управлять локами, pid-файлами и логгированием. Достаточно написать скрипт, который будет запускаться и делать работу, выводя все свои действия в stdout, а управление жизненным циклом и логгирование поручить системе. В том же systemd достаточно написать простенький конфиг, но при этом ваша программа уменьшится раза в полтора.
Я это понимаю, но есть такая маленькая проблемка. Операционная система которую я указал в секции «Вводная», а так же я с ней работаю. Сертифицирована для работы с ГТ (то бишь гос. тайна), с грифом до СС (сов. секретно) включительно. Это накладывает свои ограничения, самое главное звучит так, вы не имеете права устанавливать несертифицированное ПО на систему. Скрипты например должны проходить тематические исследования на отсутствие не декларируемых возможностей. как-то так.
Мм, а как это связано с форматом скрипта? Я вижу здесь проблему, только если в этой ОС нету нормальной системы инициализации, но про это ничего во вводной сказано не было :)
Используется System V init. Если там можно делать как Вы написали, буду рад узнать.=) Просто раньше пробовал писать демоны (ради собственного развития), везде в туториалах были такие шаги.
Нет, к сожалению, непосредственно в sysvinit такого нет, хотя вроде бы есть сторонние утилиты для этого. Вообще он сейчас активно депрекейтится практически всеми основными дистрибутивами, но инерция пока что очень сильна, так что ничего удивительного, что соответствующие туториалы появляются снова и снова)
Конечно можно и в крон, просто написал же, мы же калмыцкие пионеры, сначала придумываем себе трудности, потом мужественно преодолеваем. Ну и плюс, мне надоело на объекте читать список из 7+ заданий крона =)
> Скрипт обрабатывает посылаемые ему сигналы с задержкой указанной в
> переменной CHECK_PERIOD, а не моментально.
> … зависит именно из-за цикла
Здесь не цикл виновал, а sleep. Сигнал отправляется bash'у, им же получается и обрабатывается, но bash в скрипте — это то, что находится между вызовами внешних утилит, то есть как только по завершении sleep'а к bash'у вернётся управление, так он сразу же сделает всё, что от него требуется…
Простите, а всё вышенаписанное, является сертифицированным ПО? Я к тому, что понятие «ПО» мало соотносится с понятием «тьюринг-полноты инструментария».
Сервис мониторинга свободного места на Bash