source: genesis/nodes/dubbelipcheck.sh@ 7306

Last change on this file since 7306 was 7303, checked in by rick, 15 years ago

Make sure the-good-fellow shows the right error messages

  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 1.7 KB
Line 
1#!/bin/sh
2#
3# dubbelipcheck.sh
4# Scriptje om in de wleiden.conf files van Wireless Leiden
5# te controleren of er geen dubbele ip addressen bestaan
6#
7# Rick van der Zwet (rick@wirelessleiden.nl)
8genesis_nodes_dir="`dirname $0`"
9allowed_dubbel_ip="172.31.255.1 172.31.255.2"
10TMPDIR=`mktemp -d -t $(basename $0 .sh).XXXXX`
11
12ERRNO=0
13
14#zoek alle ip address in de files op
15init()
16{
17 files=`find $genesis_nodes_dir/*/wleiden.conf | grep -e "[A-Z]Node\|proxy"`
18
19 master_ips=`cat $files | grep '^$master_ip' |\
20 sed -e 's/$master_ip='\''//' -e 's/'\'\;'//'`
21 link_ips=`cat $files | grep ^IP | grep -v '$master_ip' |\
22 sed -e 's/IP=//' -e 's/\/[0-9]*//'`
23 echo "$master_ips $link_ips" | sort > $TMPDIR/all_ips
24 echo "$master_ips $link_ips" | sort -u > $TMPDIR/all_ips_no_double
25}
26
27
28#check up dubbele ip addressen
29dubbelIpCheck() {
30 dubbel_ips=`comm -23 $TMPDIR/all_ips $TMPDIR/all_ips_no_double | sort -u`
31}
32
33
34#verwijder toegestane dubbele ip's
35verwijderToegestaneIps() {
36 for allowed in $allowed_dubbel_ip; do
37 dubbel_ips=`echo $dubbel_ips | sed s/$allowed//`
38 done
39}
40
41
42#print resultaten
43results() {
44 if [ "$dubbel_ips" ]; then
45 for dubbel_ip in $dubbel_ips ; do
46 ERRNO=1
47 echo ""
48 echo "Dubbel ip gevonden: $dubbel_ip"
49 echo "Wordt gebruikt in:"
50 for file in $files ; do
51 grep -v '#' $file | grep "$dubbel_ip/" | grep "^IP\|^$master_ip" > /dev/null && echo " -$file"
52 done
53 done
54 else
55 echo "Geen dubbele ip's gevonden"
56 fi
57 echo ""
58 echo "Toegestane dubbele ip's:"
59 for ip in $allowed_dubbel_ip ; do
60 echo " -$ip"
61 done
62}
63
64
65#verwijder tijdelijke files
66cleanup() {
67 rm -R $TMPDIR
68}
69
70
71
72#hoofdmodule
73main() {
74 init
75 dubbelIpCheck
76 verwijderToegestaneIps
77 results
78 cleanup
79}
80
81main
82exit $ERRNO
83
Note: See TracBrowser for help on using the repository browser.