Hi,
I updated the script :
no limitation of number of ethernet card
update /etc/network/interfaces
[CODE]#!/bin/bash
#########################################################
Rename services with FoG, need mysql-client installed
#########################################################
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
#########################################################
# Update hosts file
#########################################################
echo "127.0.0.1 localhost" > /etc/hosts
echo "127.0.1.1 $HOST_NAME.$HOST_DOMAIN_NAME $HOST_NAME " >> /etc/hosts
echo "# The following lines are desirable for IPv6 capable hosts
::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
#########################################################
# Update interfaces file
#########################################################
echo "# This file describes the network interfaces available on your system
and how to activate them. For more information, see interfaces(5).
The loopback network interface
auto lo
iface lo inet loopback" > /etc/network/interfaces
for ETH in ${NETWORK_CARDS[*]}
do
if [ "$ETH" != "lo" ]
then
echo "# $ETH Interface
allow-hotplug $ETH
iface $ETH inet dhcp" >> /etc/network/interfaces
fi
done
#########################################################
# Clear persistent network cards
#########################################################
if [ -f /etc/udev/rules.d/70-persistent-net.rules ]
then
rm /etc/udev/rules.d/70-persistent-net.rules
fi
#########################################################
# Logs and Reboot machine
#########################################################
echo "$(date) ::: Update successful with Hostname : $HOST_NAME and Domain : $HOST_DOMAIN_NAME" >> /var/log/rename_host_fog.log
/sbin/init 6
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.