Setear el hostname

#sh hostname.sh

#!/bin/bash
###########################################################
###          Hostname Configurator version 1.5          ###
###   For Plesk, Plesk6, Ensim, Cpanel, and Plain RH    ###
###             Another script by NightHawk             ###
###                 nighthawk@ezsm.net                  ###
###########################################################

###########################################################
###           This script is for ezsm use only          ###
###########################################################

###########################################################
###       this script is not supported in anyway        ###
###                 use at your own risk                ###
###########################################################

###########################################################
###                      Functions                      ###
###########################################################
###query for cptype
function cptype {
echo «What type of CP is this?»
echo «Type P for Plesk Standard (psa5.0.* or below)»
echo «Type PR for Plesk RPM (psa5.0.* or below)»
echo «Type PSA for Plesk (plesk6.0.* or higher)»
echo «Type E for Ensim»
echo «Type C for Cpanel»
echo «Type PLAIN for Plain Redhat»
echo -n «[P,PR,PSA,E,C,PLAIN]: »
read CP
if [ «$CP» == «P» ]; then
CP2=»Plesk Standard»
elif [ «$CP» == «p» ]; then
CP2=»Plesk Standard»
elif [ «$CP» == «PR» ]; then
CP2=»Plesk rpm»
elif [ «$CP» == «pr» ]; then
CP2=»Plesk rpm»
elif [ «$CP» == «PSA» ]; then
CP2=»PLESK6″
elif [ «$CP» == «psa» ]; then
CP2=»PLESK6″
elif [ «$CP» == «E» ]; then
CP2=»Ensim»
elif [ «$CP» == «e» ]; then
CP2=»Ensim»
elif [ «$CP» == «C» ]; then
CP2=»Cpanel»
elif [ «$CP» == «c» ]; then
CP2=»Cpanel»
elif [ «$CP» == «PLAIN» ]; then
CP2=»Plain RedHat»
elif [ «$CP» == «plain» ]; then
CP2=»Plain RedHat»
elif [ «$CP» == «Plain» ]; then
CP2=»Plain RedHat»
elif [ «$CP» == «PL» ]; then
CP2=»Plain RedHat»
else
echo «Answer not read, Aborting, Please Try Again.»
footer
exit 1
fi
}
function getinfo {
echo «Please enter hostname»
echo -n «(sub.domain.com): »
read H1
HOST=$H1
echo $HOST > host.txt
H2=`cut -f 1 -d . host.txt`
rm -f host.txt
HOSTSHORT=$H2
echo «Please enter server ip#»
echo -n «(123.123.123.123): »
read H3
IP=$H3
echo $IP > temp.txt
H4=`cut -f 1,2,3 -d . temp.txt`
rm -f temp.txt
IP2=$H4.1
}
function verify {
echo «You have selected hostname: $HOST at $IP on a $CP2 box with a gateway ip of $IP2»
echo «This is your last chance to change your mind.»
echo «Is this correct?»
echo -n «[y/n]: »
read val
if [ «$val» == «y» ]; then
echo «setting hostname»
elif [ «$val» == «Y» ]; then
echo «setting hostname»
elif [ «$val» == «n» ]; then
echo «Aborting, Please Try Again.»
footer
exit 1
elif [ «$val» == «N» ]; then
echo «Aborting, Please Try Again.»
footer
exit 1
else
echo «Answer not read, Aborting, Please Try Again.»
footer
exit 1
fi
}
function start {
if [ «$CP» == «P» ]; then
sethostname
hostnameplesk
elif [ «$CP» == «p» ]; then
sethostname
hostnameplesk
elif [ «$CP» == «PSA» ]; then
sethostname
hostnamepsa
elif [ «$CP» == «psa» ]; then
sethostname
hostnamepsa
elif [ «$CP» == «PR» ]; then
sethostname
hostnameplesk
elif [ «$CP» == «pr» ]; then
sethostname
hostnameplesk
elif [ «$CP» == «E» ]; then
sethostname
elif [ «$CP» == «e» ]; then
sethostname
elif [ «$CP» == «C» ]; then
sethostname
elif [ «$CP» == «c» ]; then
sethostname
elif [ «$CP» == «PLAIN» ]; then
sethostname
elif [ «$CP» == «plain» ]; then
sethostname
else
echo echo «Answer not read, Aborting, Please Try Again.»
exit 1
fi
}
function hostnameplesk {
/usr/local/psa/bin/reconfigurator.sh
}
function hostnamepsa {
mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa -e «update misc set val=’$HOST’ where param=’FullHostName'»
echo «$HOST» > /var/qmail/control/me
echo «$HOST» >>/var/qmail/control/locals
}
function sethostname {
hostname $HOST
cp /etc/sysconfig/network /etc/sysconfig/network.backup
rm -f /etc/sysconfig/network
echo NETWORKING=yes >>            /etc/sysconfig/network
echo HOSTNAME=»»$HOST»» >>      /etc/sysconfig/network
echo GATEWAY=»»$IP2″» >>         /etc/sysconfig/network
echo GATEWAYDEV=»eth0″ >>       /etc/sysconfig/network
echo FORWARD_IPV4=»yes» >>      /etc/sysconfig/network
cp /etc/hosts /etc/hosts.backup
rm -rf /etc/hosts
echo # Do not remove the following line, or various programs >> /etc/hosts
echo # that require network functionality will fail. >>         /etc/hosts
echo 127.0.0.1       localhost.localdomain   localhost >>       /etc/hosts
echo «$IP»    $HOST     $HOSTSHORT >>  /etc/hosts
/etc/rc.d/init.d/syslog restart
}
###Standard Footer
function footer {
echo «##########################################################»
echo «###    Thank you for using another NightHawk Script    ###»
echo «##########################################################»
}
###Standard Disclaimer
function disclaimer {
echo «##########################################################»
echo «###Disclaimer: This script is provided ‘as is’ without ###»
echo «###warranty of any kind. NightHawk disclaims all       ###»
echo «###warranties, either express or implied, including the###»
echo «###warranties of merchantability and fitness for a     ###»
echo «###particular purpose. In no event shall NightHawk or  ###»
echo «###his Companies be liable for any damages whatsoever  ###»
echo «###including direct, indirect, incidental,             ###»
echo «###consequential, loss of business profits or special  ###»
echo «###damages.                                            ###»
echo «##########################################################»
echo «Do you accept?»
echo -n «[y/n]: »
read val
if [ -z «$val» ]; then
echo «Dislaimer not accepted — aborting…»
footer
exit 1
fi
if [ «$val» == «y» ]; then
clear
elif [ «$val» == «Y» ]; then
clear
elif [ «$val» == «n» ]; then
echo «Dislaimer not accepted — aborting…»
footer
exit 1
elif [ «$val» == «N» ]; then
echo «Dislaimer not accepted — aborting…»
footer
exit 1
else
echo «Answer not read, Aborting, Please Try Again.»
footer
exit 1
fi
}
###clean up
function finish {
echo «new setup complete, Thank You NightHawk»
echo «removing myself…have a nice day»
echo «type «hostname» to verify the hostname change»
cd /
rm -Rf /nh
rm -f /root/hostname.sh
}

###Informative Header
function header {
clear
echo «##########################################################»
echo «###            Initial Hostname Setup Script           ###»
echo «##########################################################»
}
###########################################################
###                    End Functions                    ###
###########################################################

###########################################################
###                    start script                     ###
###########################################################
header
disclaimer
cptype
getinfo
verify
start
finish
footer
exit 0