script per aspettare l'ip

Ecco uno script per aspettare l'ip in linux (lo linkate nella cartelle rc2.d prima di ogni processo che a bisogno che la connessione sia up.) se il file dello script è waitIp ed è nella directory init.d ed il vostro run level di default è il 2 fate: ln -s /etc/init.d/waitip /etc/rc2.d/S_NUM_waitIp sostituendo _NUM_ con un numero (inferiore a quello dei processi a cui serve la connessione).

#!/bin/bash
echo "waiting IP:"
IP=`ifconfig |grep -A1 ppp0|grep inet|awk '{print $2}'|tr -d addr:`
ORA=`date +%s`
SCADENZA=`expr $ORA + 60`
echo "scadenza:" $SCADENZA
while [ -z $IP ]; do
  printf "#"
  IP=`ifconfig |grep -A1 ppp0|grep inet|awk '{print $2}'|tr -d addr:`
  if [ `date +%s` -ge $SCADENZA ] ; then break ; fi
done

if [ -z $IP ] ; then
  echo "WARNING: ip not obtained!!!" ;
else
  echo "ip obtained: $IP"
fi

exit 0

Nessun commento :