diff --git a/registry/scripts/registry.sh b/registry/scripts/registry.sh index 838be8d165eb9f9ac80041366c45b1d21494f968..0120e969c515ea0290b593531e15e01a8cf3ae3d 100755 --- a/registry/scripts/registry.sh +++ b/registry/scripts/registry.sh @@ -19,7 +19,7 @@ getip(){ awk '/^lease/{IP=$2} /hardware ethernet/{gsub(";","",$3);if($3 == "'$1'"){print IP}}' \ < /var/lib/dhcp/dhcpd.leases -} + } IP=$(ip a | awk '/inet.*containers/ {print $2}' | cut -d / -f 1) port=9998 @@ -39,7 +39,7 @@ else LINES="$LINES\n$(date +%Y%m%d) $(echo $line | cut -d ' ' -f 2-)" fi done < $conf_file - echo $LINES > $conf_file + echo -e $LINES > $conf_file fi while true @@ -47,7 +47,16 @@ do line=`netcat -l $IP $port` if [ $(echo "$line" | egrep -c "^([0-9a-f]{2}:?){6} .*$") -eq 1 ] then - echo "$(date +%Y%m%d) $line" >> $conf_file + date=$(date +%Y%m%d) + res=$(grep "$line" $conf_file) + if [ ! -z "$res" ] + then + # Update + sed -i -e "s/^.*$line$/$date $line/" $conf_file + else + # Add + echo "$date $line" >> $conf_file + fi fi done