|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vadim Seesuev 2:5010/70 21 Dec 2005 02:32:59 To : All Subject : Re: Как сделать чтобы iptables стартовала скрипт? -------------------------------------------------------------------------------- "Eugene B. Berdnikov" <berd@desert.ihep.su> сообщил/сообщила в новостях следующее: news:mchi73-bt4.ln1@protva.ru... > VS> destination my_script_start { pipe("/script_dir/1.sh"); }; > [...] > VS> Сислог отлавливает мои пинги и логит их ... в файл скрипта ))) > VS> в /script_dir/1.sh вместо того чтобы запустить этот скрипт. > VS> Hе подскажите синтаксис команды pipe? > > Драйвер pipe() - это именно запись в именованый пайп. Это по сути > то же самое, что запись в файл, плюс немного логики на закрытие пайпа > читателем с другой стороны. То есть немного не то, хотя если повесить > на выход пайпа программу, можно добиться нужного эффекта. > Имеет смысл в том случае, когда обработчик должен иметь uid/gid > отличный от syslog-ng, или ещё какие-нибудь нетривиальные причины. > > Для запуска программы напрямую есть драйвер program("/path/to/script"). > Программа будет получать рекорды на stdin. Если мне не изменяет > склероз, рекорды следует вычитывать. Это получилось если destination прописать так: destination my_script_start { program("/path_to_script/1.sh"); }; Там последовала проблема вычитывать поток и как-то плавно закрывать скрипт, иначе он второй раз не запускался. Я пока притормозил это направление, думаю все же проще держать поднятый скрипт, который смотрит на счетчик специальных цепочек iptables. Спасибо за интересную инфу. В. --- ifmail v.2.15dev5 * Origin: South Ural Network (2:5010/70) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.linux/1692042083125.html, оценка из 5, голосов 10
|