Hi,
I updated the script :
no limitation of number of ethernet card update /etc/network/interfaces[CODE]#!/bin/bash
#########################################################
#########################################################
ch3i - 02/05/2015#########################################################
BEGIN INIT INFO Provides: rename_host_fog Required-Start: $all Required-Stop: Default-Start: 2 3 4 5 Default-Stop: 0 1 6 Short-Description: Rename host at boot Description: Rename host using FoG END INIT INFO#########################################################
Configuration#########################################################
FOG_SERVER=“xxx.xxx.xxx.xxx”
FOG_DATABASE_NAME=“fog”
FOG_USER=“user_with_select_right”
FOG_PASSWORD=“password”
#########################################################
Get interfaces#########################################################
NETWORK_CARDS=($(ls /sys/class/net/))
#########################################################
Get host name and domain from FoG database#########################################################
for ETH in ${NETWORK_CARDS[*]}
do
if [ “$ETH” != “lo” ]
then
MAC=$(cat /sys/class/net/$ETH/address)
TEMP_HOST_NAME=$(mysql --host=$FOG_SERVER --user=$FOG_USER --password=$FOG_PASSWORD $FOG_DATABASE_NAME -se “SELECT hosts.hostname FROM hosts INNER JOIN hostMAC ON ( hosts.hostID = hostMAC.hmHostID ) WHERE hostMAC.hmMAC = ‘$MAC’”);
if [ “$TEMP_HOST_NAME” != “” ]
then
HOST_NAME=$TEMP_HOST_NAME
HOST_DOMAIN_NAME=$(mysql --host=$FOG_SERVER --user=$FOG_USER --password=$FOG_PASSWORD $FOG_DATABASE_NAME -se “SELECT hosts.hostADDomain FROM hosts INNER JOIN hostMAC ON ( hosts.hostID = hostMAC.hmHostID ) WHERE hostMAC.hmMAC = ‘$MAC’”);
fi
fi
done
#########################################################
Check host configuration#########################################################
ACTUAL_FQDN=$(hostname --fqdn)
if [ “$HOST_NAME.$HOST_DOMAIN_NAME” != “$ACTUAL_FQDN” ] && [ “$HOST_NAME” != “” ] && [ “$HOST_DOMAIN_NAME” != “” ]
then
#########################################################
# Update hostname file
#########################################################
echo $HOST_NAME >/etc/hostname
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts" >> /etc/hosts
auto lo
iface lo inet loopback" > /etc/network/interfaces
allow-hotplug $ETH
iface $ETH inet dhcp" >> /etc/network/interfaces
fi
done
fi
if [ “$HOST_NAME” == “” ] && [ “$HOST_DOMAIN_NAME” == “” ]
then
echo “$(date) ::: Update failed : Failed to connect to Mysql Server” >> /var/log/rename_host_fog.log
fi
if [ “$HOST_NAME” != “” ] && [ “$HOST_DOMAIN_NAME” == “” ]
then
echo “$(date) ::: Update failed : Domain name is missing” >> /var/log/rename_host_fog.log
fi
[/CODE]
Regards,
Ch3i.