Dynamicka iptables pravidla z databaze
Martin Cizek
cizek na cmc.hopto.org
Neděle Říjen 24 20:51:29 CEST 2004
DD,
> Dobrý nápad, ale problém je, že ta databáze se plní z web frontendu, a potřebuji,
> aby to zareagovalo pokud možno hned - tj. buď spouštět skript cronem každou minutu
> (ale v tom případě tam bude stejně prodleva průměrně v řádu desítek sekund, a navíc
> to každou minutu bude generovat nějakou zátěž), nebo o dost lepší, ale nevím zda
> vůbec existující řešení, že by ten démon reagoval na eventy z DB serveru a
> aktualizoval to ne v pevných intervalech, ale na základě těchto event.
Stačí vytvořit nějaký synchronizační objekt. Lze použít třeba pojmenovanou
rouru, práva nastavte tak, aby do ní moh zapisovat poze webserver a číst
jí moh pouze onen démon (tzn. asi root).
Démon může být jednoduchý skript:
#!/bin/sh
FIFO=nekde
while true; do
read < $FIFO # zde se démon zablokuje
# Načti změny z databáze
# Proveď změny databáze
done
Web server po změně provede jen (v řeči shellu)
echo -n '' > $FIFO
Přímým server side skriptováním bych to neřešil -- je to vždy bezpečnostní
riziko.
PS: Nezapomeňte ty tabulky zamykat a myslet na další synchronizační aspekty,
např. že se Vám server-side skript zablokuje na onom zápisu do roury, dokud
ji neotevře démon.
--
Martin Čížek
CMC Computers
Další informace o konferenci Linux