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

当然,在作模板的过程中,我们除了要定义好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:64:17}
  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:64:17}
  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
时间: 2024-10-25 00:02:40

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

PXE项目实战,通过编写脚本自动安装系统时批量部署服务器所需要的所有服务

由于上一篇是有关PXE的基础配置,所以有些过程省略,有不便的还请谅解. 案例需求:    1. 在局域网 192.168.1.0/24 内部署一台 PXE 装机服务器(CentOS 6.5系统)        操作系统:CentOS 6.5      ==> 关闭 iptables 防火墙.关闭SELinux机制,进图形桌面        网卡连接:VMnet1    ==> 关闭 NetworkManager 服务 2. 提供带图片背景.可选择的PXE启动菜单,支持为客户机裸机装配64位的

Linux批量部署无密钥脚本

##### 批量部署ssh私钥认证 ##### 一.首先安装expect,直接yum即可 二.批量部署ssh私钥脚本 batch_sshkey.sh============================================================== #!/bin/bash cd /root cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys for i in `cat ip.txt`doip=$(echo "

shell脚本批量部署ssh

日常运维工作中,需要给几十上百台服务器批量部署软件或者是重启服务器等操作, 这样大量重复性的工作一定很苦恼,本文给大家提供了最基本的批量操作的方法,虽然效率不高,对于初学者来说还是好理解.由于刚开始学习写脚本,什么 puppt这样的高级工具还不会使用,就简单的利用shell脚本.ssh-keygen.expect来实现.希望能给各位带来帮助,不足之处还请留言 指出,大家共同进步. 首先,需要检查expect是否安装:rpm -qa|grep expect 然后,在操作机上创建公钥:ssh-key

自动化运维Ansible批量部署服务+shell脚本批量推送公钥

一.概述分析 由于互联网的快速发展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量的维护操作,仍旧按照传统方式进行维护会使得工作效率低下.这时,部署自动化运维就可以尽可能安全.高效地完成这些工作.一般会把自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的ABem程序来完成管理功能,如: Puppet.Func. Zabbix等:另外一类是不需要配置代理工具的,可以直接基于SSH服务来完成管理功能,如: Ansible. Fabric等. - 下面介绍几款功能类似的自动化运

【工作中的Python】随机点名小脚本

背景:项目组每周的例会中,有一项固定内容就是技术分享,可以是与工作相关或无关的任何技术主题.进行技术分享讲解的同学是随机抽签的.由此做了一个Python的小脚本用于抽取姓名. 脚本内容如下: #!/usr/bin/python import os import sys import tty, termios import random name_list = ["member_1","member_2","member_3"] input = '

一个批量修改AD信息的小脚本

今天接到一个任务,一个子公司100来个USER的账号,更换了新的电话号码,另顺便需要在AD里面体现出 各USER的职位. 好吧,100多个人,如果手动来改,量也很大,首先想到的是用脚本来修改,刚好想到了powershell. 首先,准备一个CSV文件,把USER按如下格式排练好,各值之间用逗号隔开,之后命名test.csv文件 samaccountname,telephonenumber,title user1,1234567,engineer user2,2345678,sales ...,.

VBS自编写脚本。(实现批量修改文件名且在执行前,备份原有文件夹中的文件)

'=========================================================================='' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0'' NAME: '' AUTHOR: Microsoft , Microsoft' DATE : 2014/7/9'' COMMENT: '批量修改文件夹下对应的所有文件名''==========

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

linux服务器批量部署应用系统shell脚本: 1.请更换代码内的服务器地址(Tomcat或jetty服务器) serverRoot=/home/undoner/java_tool/apache-tomcat-7.0.61 serverDir=/home/undoner/java_tool/apache-tomcat-7.0.61/webapps 2.请更换工程所属配置文件名称 /WEB-INF/classes/install.properties 3.请将war包上传至本命令同级的目录,执行

使用Shell脚本+expect批量部署ssh

Shell脚本+expect批量部署ssh一.准备工作及思路1,三台机器做实验(centos6.5.IP:192.168.0.22 (主控制).192.168.0.156.192.168.0.157)2,IP:22这一台做主控机器,另外2台做客户机.3,提前在主控制机器上创建好公钥,安装好expect,使用脚本批量推送ssh公钥.4,本次部署是以root身份进行下面的操作.二.正式部署1,首先穿件秘钥[[email protected] .ssh]# ssh-keygen -t rsa Gene