#!/usr/bin/perl $|=1; use DBI; use FindBin qw($Bin); my $param = shift @ARGV; our $verbose = 0; if ($param eq '-v') { $verbose = 1; } elsif ($param eq '-vv') { $verbose = 2; } require "$Bin/condes.conf"; my $dbmysql = DBI->connect("DBI:mysql:;host=$DBhost", $DBuser, $DBpass) or die ($DBI::errstr); $sts = $dbmysql->prepare("use $DBname"); $sts->execute (); $query = " SELECT condes_regole.id, condes_regole.id_condes_macchine, condes_regole.id_proxy_acl_list, condes_macchine.id_proxy_pool, proxy_pool.ip, proxy_pool.nome, proxy_acl_list.nome AS acl FROM condes_regole JOIN condes_macchine ON condes_regole.id_condes_macchine = condes_macchine.id JOIN proxy_pool ON condes_macchine.id_proxy_pool = proxy_pool.id JOIN proxy_acl_list ON condes_regole.id_proxy_acl_list = proxy_acl_list.id WHERE condes_regole.stato = 1 "; $sts = $dbmysql->prepare($query); $sts->execute (); while ( $ref = $sts->fetchrow_hashref ) { $id = $$ref{'id'}; $condes_macchine = $$ref{'id_condes_macchine'}; $proxy_acl_list = $$ref{'id_proxy_acl_list'}; $proxy_pool = $$ref{'id_proxy_pool'}; $proxy_pool_ip = $$ref{'ip'}; $proxy_pool_nome = $$ref{'nome'}; $acl = $$ref{'acl'}; printf "Rimosso %-15s (%-10s) con lista %s\n", $proxy_pool_ip, $proxy_pool_nome, $acl if ($verbose); $query = " UPDATE proxy_acl_ip SET stato = 0, data = NOW() WHERE idacllist = $proxy_acl_list AND idpool = $proxy_pool "; my $sts = $dbmysql->prepare($query); $sts->execute (); $query = " INSERT INTO condes_logs SET id_utenti = 0, id_condes_regole = $id, stato = 0, data = NOW() "; $sts = $dbmysql->prepare($query); $sts->execute (); $query = " UPDATE condes_regole SET stato = 0, modifica = NOW() WHERE id_condes_macchine = $condes_macchine AND id_proxy_acl_list = $proxy_acl_list "; $sts = $dbmysql->prepare($query); $sts->execute (); } exit;