当然,在作模板的过程中,我们除了要定义好SELINUX,IPTABLES之后,

HOSTS文件维护,用ZOOKEEPER还是RSYNC实现?

都要在前期好好规划。。

脚本如下,一般改成自己的就可以用。

现在就是看看如何进行一次性脚本运行,而不需要手工参与,就全自动啦。。

#!/bin/bash

#此脚本实现从ESXI新开模板之后,快速配置机器网络及MAC地址,涉及两个文件的更改

#定义常量

net_rule_file="/etc/udev/rules.d/70-persistent-net.rules"
net_conf_file="/etc/sysconfig/network-scripts/ifcfg-eth0"
netmask_conf="255.255.xxx.0"
gateway_conf="192.168.xxx.xx"
dns1_conf="114.xxx.xxx.114"
old_mac="00:50:56:xx:F6:xx"

#判断是否已正确执行过脚本,然后从文件中删除旧的MAC,更改为新的MAC地址,--eth0

if  (cat $net_rule_file|grep -i $old_mac) ;then
  new_mac_str=$(sed -n -e '/eth1/ p' $net_rule_file)
  #new_mac_1=${new_mac_str::}
  new_mac=$(echo $new_mac_str| awk -F ',' {'print $4'}|awk -F '==' {'print $2'}|sed 's/\"//g')
  sed -i "/$old_mac/Id" $net_rule_file
  sed -i "s/eth1/eth0/g" $net_rule_file
else
  new_mac_str=$(sed -n -e '/eth0/ p' $net_rule_file)
  #new_mac_1=${new_mac_str::}
  new_mac=$(echo $new_mac_str| awk -F ',' {'print $4'}|awk -F '==' {'print $2'}|sed 's/\"//g')
  echo "done 70-persistent-net.rules file!"
fi

#===================================
#将新的网络配置入写网卡文件,重启网络

if  (cat $net_conf_file|grep $netmask_conf) ;then
  echo "done /etc/sysconfig/network-scripts/ifcfg-eth0"
elif [ ! -n "$1" ] ;then
    echo "you have not input a ip address!"
else
  sed -i "/$old_mac/Id" $net_conf_file
  sed -i "s/dhcp/static/g" $net_conf_file
  echo "HWADDR=$new_mac" >> $net_conf_file
  echo "IPADDR=$1" >> $net_conf_file
  echo "NETMASK=$netmask_conf" >> $net_conf_file
  echo "GATEWAY=$gateway_conf" >> $net_conf_file
  echo "DNS1=$dns1_conf" >> $net_conf_file
  service network restart
fi

小脚本一则---CDH的批量部署中,如果是从ESXI的VCENTER的模板生成的虚拟机,如何快速搞定网络网络卡配置?的更多相关文章

  1. 手把手教你制作微信小程序,开源、免费、快速搞定

    最近做了个"罗孚传车"的小程序 一时兴起,做了一个小程序,将个人收集的同汽车相关的行业资讯和学习资料,分享到小程序中,既作为历史资料保存,又提供给更多的人学习和了解,还能装一下:) ...

  2. shell脚本批量部署ssh

    日常运维工作中,需要给几十上百台服务器批量部署软件或者是重启服务器等操作, 这样大量重复性的工作一定很苦恼,本文给大家提供了最基本的批量操作的方法,虽然效率不高,对于初学者来说还是好理解.由于刚开始学 ...

  3. linux服务器批量部署应用系统shell脚本(Tomcat/jetty)

    linux服务器批量部署应用系统shell脚本: 1.请更换代码内的服务器地址(Tomcat或jetty服务器) serverRoot=/home/undoner/java_tool/apache-t ...

  4. python小脚本(18-11.10)-修改excle后批量生成,作用:导入数据时,系统做了不能导入重复数据时的限制时使用 -本来是小白,大神勿扰

    from testcase.test_mokuai.operation_excle import OperationExcleimport shutil class test_daoru(): #一个 ...

  5. SSH批量部署服务

    SSH批量部署服务 1.1在NFS上作为中心分发服务器将私钥分发到其他服务器上 1.1.1NFS部署 [root@nfs-server ~]# useradd zhurui [root@nfs-ser ...

  6. Office 365 系列二 ------- 如何批量部署Office 客户端

    针对于第一篇文章所讲的,我们最用使用用户可以单个点击进行安装,但是如果我们终端用户太多的情况,不可能大家都点击单个文件进行安装了,这样子既耗费时间也耗费 公司的网络带宽,那么我们可以采取离线下载的方式 ...

  7. 使用saltstack批量部署服务器运行环境事例——批量部署nagios客户端

    之前关于搭建web服务器集群实验的这篇文章http://www.cnblogs.com/cjyfff/p/3553579.html中,关于如何用saltstack批量部署服务器这一点当时没有记录到文章 ...

  8. 分享几个python小脚本

    by 梁凯 今天我想给大家分享几个python脚本,分别是: 1.公司访问外网认证脚本(最初有同事写过,我优化了一下). 2.统计周报系统所有同事的最近一篇周报. 3.统计测试技术分享里指定一个月所有 ...

  9. 使用Fabric一键批量部署上线/线上环境监控

    本文讲述如何使用fabric进行批量部署上线的功能 这个功能对于小应用,可以避免开发部署上线的平台,或者使用linux expect开发不优雅的代码. 前提条件: 1.运行fabric脚本的机器和其他 ...

随机推荐

  1. libvirt 命令行交互工具之virsh

    libvirt是当前主流VM最低层库.IBM PowerVM也不例外,libvirt是深入玩虚拟化必须玩转的东西; 简单测试玩玩libvirt 的virsh命令行交互工具, 你我都知libvirt大体 ...

  2. 转: LRU缓存介绍与实现 (Java)

    引子: 我们平时总会有一个电话本记录所有朋友的电话,但是,如果有朋友经常联系,那些朋友的电话号码不用翻电话本我们也能记住,但是,如果长时间没有联系了,要再次联系那位朋友的时候,我们又不得不求助电话本, ...

  3. ActionScript通用开发框架

    ActionScript 3(简称as)自2006年诞生以来,出现了一大批很优秀框架.就我的知识领域,运用包括pureMVC.pushButton Engine(组件框架).Robotlegs.Ash ...

  4. [Javascript] Advanced Function Scope

    Something like 'for' or 'while', 'if', they don't create a new scope: ,,]; ; i < ary.length; i++) ...

  5. Android开发系列之button事件的4种写法

    经过前两篇blog的铺垫,我们今天热身一下,做个简单的样例. 文件夹结构还是引用上篇blog的截图. 详细实现代码: public class MainActivity extends Activit ...

  6. yii gridview columns value 内容如何换行 & 链接

    array( 'header' => '返回的服务器信息', 'name' => 'return_server_info', 'value' => 'str_replace(&quo ...

  7. NYOJ737

    题意:给n堆石子,按照顺序排列,只能相邻两堆石子合并,求最后合并为一堆时所花费的最小代价,石子合并代价为两堆石子之和. 输入: n(石子堆数) Xi(每堆石子个数) 输出: T(最小代价) 思路:经典 ...

  8. DotNet中的计时器线程计时器

    转载自:http://hi.baidu.com/wingingbob/item/9f1c9615f3b24d5f2b3e225c 基于多线程设计,计时器工作在ThreadPool线程上,存在事件的重入 ...

  9. oracle遍历游标

    1,while循环 declare v_tname ); cursor c_tname is select a.TABLE_NAME from user_tables a where a.TABLES ...

  10. zepto源码研究 - zepto.js - 1

    简要:网上已经有很多人已经将zepto的源码研究得很细致了,但我还是想写下zepto源码系列,将别人的东西和自己的想法写下来以加深印象也是自娱自乐,文章中可能有许多错误,望有人不吝指出,烦请赐教. 首 ...