標籤:python
#!/usr/bin/env python# _*_coding:utf-8 _*_‘‘‘如需大量設定運行方式:通過ansible運行此指令碼即可ansible testserver -m script -a "chage_hostname.py" ‘‘‘import osshell = "/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk ‘{print $2}‘|tr -d ‘addr:‘" #定義擷取IP地址的shell命令res = os.popen(shell,‘r‘,0) #執行shell命令,並傳回值ipaddr = str(res.read()) #讀取傳回值,也就是IP地址str_ip = ipaddr.replace(‘.‘,‘-‘) #將IP地址中的“.”替換成“-”hostnames = ‘ambari-%s‘ % str_ip #組成完整的電腦名稱os.environ[‘new_name‘]=str(hostnames) #將python變數可傳遞給shellos.system(‘hostname $new_name‘) #修改電腦名稱str_hosts = "%s %s" % (ipaddr,hostnames) #組成"ip hostname"形式,寫入/etc/hosts檔案os.environ[‘ip_host‘]=str(str_hosts) #將python變數可傳遞給shellos.system(‘rm -rf /etc/hosts‘)os.system(‘echo $ip_host >> /etc/hosts‘)os.system("echo ‘127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4‘ >> /etc/hosts")os.system("echo ‘::1 localhost localhost.localdomain localhost6 localhost6.localdomain6‘ >> /etc/hosts")
本文出自 “FA&IT營運-Q群:223843163” 部落格,請務必保留此出處http://freshair.blog.51cto.com/8272891/1875874
python 之根據自己的需求配置hostname