Select Git revision
setupJestIntegration.js
registry.sh 1.82 KiB
#!/bin/bash
# Copyright (C) 2018 Tetras Libre <Contact@Tetras-Libre.fr>
# Author: Beniamine, David <David.Beniamine@Tetras-Libre.fr>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
getip(){
awk '/^lease/{IP=$2} /hardware ethernet/{gsub(";","",$3);if($3 == "'$1'"){print IP}}' \
< /var/lib/dhcp/dhcpd.leases
}
IP=$(ip a | awk '/inet.*eth/ {print $2}' | cut -d / -f 1)
port=9998
conf_dir="/etc/registry"
conf_file="$conf_dir/hosts"
DIR=$(dirname $0)
if [ ! -d $conf_dir ]
then
# Init
mkdir $conf_dir
ssh-keygen -P "" -f /root/.ssh/id_rsa
touch $conf_file
else
# Clean
$DIR/clean.sh
fi
while true
do
# Format mac name ip number_apt_upgrade debian_version primtux_version git_branch number_git_updates
line=`netcat -l $IP $port`
if [ $(echo "$line" | egrep -c "^([0-9a-f]{2}:?){6} .*$") -eq 1 ]
then
date=$(date +%Y%m%d)
rIP=$(echo $line | cut -d ' ' -f 3)
sline=$(echo $line | cut -d ' ' -f 1-2)
mac=$(echo $line | cut -d ' ' -f 1)
eline=$(echo $line | cut -d ' ' -f 4-)
res=$(grep "$mac" $conf_file)
if [ ! -z "$res" ]
then
# Update
sed -i "/$mac/d" $conf_file
fi
echo "$date $line" >> $conf_file
fi
done