From: Andrew Tridgell Date: Thu, 13 Sep 2007 01:57:42 +0000 (+1000) Subject: more shell scripting fixes in 10.interface X-Git-Tag: tevent-0.9.20~348^2~2412 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6fa6101b1a27391305007bd8f0b8eaa5e078b6cb;p=thirdparty%2Fsamba.git more shell scripting fixes in 10.interface (This used to be ctdb commit 4ee2230b3f2ae7437a9d0cf973eb4645d276accd) --- diff --git a/ctdb/config/events.d/10.interface b/ctdb/config/events.d/10.interface index 9df8d2e3112..aee7d621764 100755 --- a/ctdb/config/events.d/10.interface +++ b/ctdb/config/events.d/10.interface @@ -25,8 +25,10 @@ shift kill_tcp_connections() { _IP="$1" _failed=0 + _killcount=0 - netstat -tn |egrep "^tcp.*\s+$_IP:.*ESTABLISHED" | awk '{print $4" "$5}' | + connfile="/etc/ctdb/state/connections.$_IP" + netstat -tn |egrep "^tcp.*\s+$_IP:.*ESTABLISHED" | awk '{print $4" "$5}' > $connfile while read dest src; do srcip=`echo $src | cut -d: -f1` srcport=`echo $src | cut -d: -f2` @@ -34,11 +36,15 @@ kill_tcp_connections() { destport=`echo $dest | cut -d: -f2` ctdb killtcp $srcip:$srcport $destip:$destport >/dev/null 2>&1 || _failed=1 _killcount=`expr $_killcount + 1` - done + done < $connfile + /bin/rm -f $connfile [ $_failed = 0 ] || { echo "`date` Failed to send killtcp control" return; } + [ $_killcount -gt 0 ] || { + return; + } _count=0 while netstat -tn |egrep "^tcp.*\s+$_IP:.*ESTABLISHED" > /dev/null; do sleep 1