I know this is not directly related to Squid but hoping someone could
help me with this script. The script is a check to see if (Squid) http
and https are both working and if not then change the iptables to route
the traffic to the backend server. Also wondering if anyone knows of a
better way of doing this?
#!/bin/sh
while [ 1 ]; do
TEST_SQUID=`netstat -a | grep -c https
if [ "$TEST_SQUID" -gt 0 ]; then
iptables -t nat -A PREROUTING -p tcp -i eth0 -d x.x.102.125
--dport 80 -j LOG
iptables -A FORWARD -p tcp -i eth0 -d x.x.102.122 --dport 80 -j
LOG
iptables -A FORWARD -p tcp -i eth0 -d x.x.102.122 --dport 80 -j
ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 -d x.x.102.125
--dport 80 -j DNAT --to x.x.102.122:80
iptables -A FORWARD -p tcp -i eth0 -d x.x.102.122 --dport 80 -j
ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -p tcp -d x.x.102.122
--dport 80 -j SNAT --to x.x.102.125
fi
TEST_SQUID=`netstat -a | grep -c :http
if [ "$TEST_SQUID" -gt 0 ]; then
iptables -t nat -A PREROUTING -p tcp -i eth0 -d x.x.102.125
--dport 80 -j LOG
iptables -A FORWARD -p tcp -i eth0 -d x.x.102.122 --dport 80 -j
LOG
iptables -A FORWARD -p tcp -i eth0 -d x.x.102.122 --dport 80 -j
ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 -d x.x.102.125
--dport 80 -j DNAT --to x.x.102.122:80
iptables -A FORWARD -p tcp -i eth0 -d x.x.102.122 --dport 80 -j
ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -p tcp -d x.x.102.122
--dport 80 -j SNAT --to x.x.102.125
fi
sleep 60
done
The error I get is:
./squid_backup: line 2: [: : integer expression expected
./squid_backup: line 13: -a: command not found
0
./squid_backup: line 14: [: : integer expression expected
Any help would be great.
Received on Fri Oct 08 2004 - 08:12:37 MDT
This archive was generated by hypermail pre-2.1.9 : Mon Nov 01 2004 - 12:00:01 MST