unix-way
Найдено: 1 запись
Системное администрирование →
reboot с веб-интерфейсом или trigger: простая и дешевая синхронизация процессов через блокируемый read()
Часто админские и веб-программерские задачи требуют синхронизации между разными компонентами системы, например, вебморда принимает команду на совершение какого-то действия, это действие желательно выполнить как можно раньше, но сам веб-интерфейс не может это сделать (скажем — не может изменить правила файрвола или таблицу роутинга просто потому что требуются полномочия root'а). Обычно я решал это некрасивым и неэффективным способом — веб-интерфейс писал команду в какой-то специальный файл, а другой шелл-скрипт (работающий от рута) в цикле проверял этот файл раз в несколько секунд, и если есть команды — то обрабатывал их.
В этом посте я опишу простой способ, который:
В этом посте я опишу простой способ, который:
- не требует программирования — только unix-way сборка системы из маленьких кирпичиков
- не отжирает много ресурсов (не нужно зря поллить файл, а сама программа весит значительно меньше шелла)
- срабатывает моментально
01.09.2011 17:59+0400