[linux] 다수 서버 호스트명 수정하기 – bash

자체적으로, ReserveDNS 를 운영하면서 질의 하면 더욱 좋겠지만 그렇지 못한 경우를 위해서 다음과 같이

호스트 파일을 일괄 수정한다.

 

 

Java 등에서 inetaddress.getbyname  또는

InetAddress[] ipAddress = DNSNameService.lookupAllHostAddr(“hostName”);

등을 사용하는 경우 호스트명을 통해서 아이피를 가져오게 됨

 

이럴때 일일히 서버에서 등록하지 말고 매니지먼트 서버에서 아래와 같이 쉘을 하나 만들어서 원격지 배쉬로 실행시켜서 적용하면 좋다.

 

쉘스크립트 작성..

#!/bin/bash

a=(`hostname`)

b=`ifconfig eth0 | grep 10.11 | cut -d ‘:’ -f2 | cut -d ‘ ‘ -f1`

echo -e “$b $a” >> /etc/hosts

 

이렇게 작성한 쉘을 아래와 같이 원격지에 뿌려줌. (remotehost.txt 에 대상이 되는 서버를 미리 등록해놓자~)

for i in $(cat remotehost.txt ); do ssh $i ‘/bin/bash -s’ < myname.sh  ;done

 

 

 

글쓴이