简单生活 发表于 2015-1-14 20:18:53

来一发Shell剧本之主动修正IP

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!作为一位LinuxSA,一样平常运维中良多中央城市用到剧本,而办事器的ip一样平常接纳静态ip大概MAC绑定,固然后者对照操纵起来绝对烦琐,而前者我们能够设置主机名、ip信息、网关等设置。修正成特定的主机名在保护和办理方面也对照便利。以下剧本用处为:修正ip和主机名等相干信息,能够依据实践需求修正,触类旁通!
#!/bin/sh#autoChangeipnetmaskgatewayscripts#wugk2012-12-17cat<<EOF++++++++主动修正ip和主机名等相干信息+++++++++ETHCONF=/etc/sysconfig/network-scripts/ifcfg-eth0HOSTS=/etc/hostsNETWORK=/etc/sysconfig/networkDIR=/data/backup/`date+%Y%m%d`NETMASK=255.255.255.0+++++++++-------------------------+++++++++++EOF#DefinePath界说变量,能够依据实践情形修正ETHCONF=/etc/sysconfig/network-scripts/ifcfg-eth0HOSTS=/etc/hostsNETWORK=/etc/sysconfig/networkDIR=/data/backup/`date+%Y%m%d`NETMASK=255.255.255.0echo"================================================"echo#界说change_ip函数functionChange_ip(){#判别备份目次是不是存在,中括号前后都有空格,!叹号在shell暗示相反的意义#if[!-d$DIR];thenmkdir-p$DIRfiecho"NowChangeipaddress,DoingBackupInte***ceeth0"cp$ETHCONF$DIRgrep"dhcp"$ETHCONF#以下$?用来判别上一次操纵的形态,为0,暗示上一次操纵形态准确大概乐成#if[$?-eq0];then#read-p交互输出变量IPADDR,注冒号后有空格,sed-i修正设置文件#read-p"PleaseinsertipAddress:"IPADDRsed-is/dhcp/static/g$ETHCONF#awk-F.意义是以.号为分开域,打印前三列#echo-e"IPADDR=$IPADDR
NETMASK=$NETMASK
GATEWAY=`echo$IPADDR|awk-F.{print$1"."$2"."$3}`.254">>$ETHCONFecho"ThisIPaddressChangesuccess!"elseecho-n"This$ETHCONFisstaticexist,pleaseensureChangeYesorNO":readifiif["$i"=="y"-o"$i"=="yes"];thenread-p"PleaseinsertipAddress:"IPADDRcount=(`echo$IPADDR|awk-F.{print$1,$2,$3,$4}`)#界说数组,${#count[@]}代表猎取变量值总个数#A=${#count[@]}#while前提语句判别,个数是不是准确,不准确轮回提醒输出,也能够用来判别ip#while["$A"-ne"4"]doread-p"PleasereInsteripAddress,example192.168.0.11ip":IPADDRcount=(`echo$IPADDR|awk-F.{print$1,$2,$3,$4}`)A=${#count[@]}done#sed-e能够一连修正多个参数#sed-i-es/^IPADDR/#IPADDR/g-es/^NETMASK/#NETMASK/g-es/^GATEWAY/#GATEWAY/g$ETHCONF#echo-e
为一连追加内容,并主动换行#echo-e"IPADDR=$IPADDR
NETMASK=$NETMASK
GATEWAY=`echo$IPADDR|awk-F.{print$1"."$2"."$3}`.254">>$ETHCONFecho"ThisIPaddressChangesuccess!"elseecho"This$ETHCONFstaticexist,pleaseexit"exit$?fi}#界说hosts函数############functionhosts##############functionChange_hosts(){if[!-d$DIR];thenmkdir-p$DIRficp$HOSTS$DIRread-p"Pleaseinsertipaddress":IPADDRhost=`echo$IPADDR|seds/./-/g`cat$HOSTS|grep127.0.0.1|grep"$host"if[$?-ne0];thensed-i"s/127.0.0.1/127.0.0.1$host/g"$HOSTSecho"Thishostschangesuccess"elseecho"This$hostISExist.........."fi}###########fuctionnetwork################界说network函数functionChange_network(){if[!-d$DIR];thenmkdir-p$DIRficp$NETWORK$DIRread-p"Pleaseinsertipaddress":IPADDRhost=`echo$IPADDR|seds/./-/g`grep"$host"$NETWORKif[$?-ne0];thensed-i"s/^HOSTNAME/#HOSTNAME/g"$NETWORKecho"NETWORK=$host">>$NETWORKelseecho"This$hostISExist.........."fi}#PS3通常是菜单提醒信息#PS3="PleaseSelectiporhostsMenu":#select为菜单选择下令,格局为select$varin..command..do....doneselectiin"Change_ip""Change_hosts""Change_network"do#case体例,一样平常用于多种前提下的判别case$iinChange_ip)Change_ip;;Change_hosts)Change_hosts;;Change_network)Change_network;;*)echoecho"PleaseInsert$0:Change_ip(1)|Change_hosts(2)|Change_network(3)"echo;;esacdone

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!

只想知道 发表于 2015-1-15 22:14:56

来一发Shell剧本之主动修正IP

现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。

飘飘悠悠 发表于 2015-1-20 22:13:32

Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。

金色的骷髅 发表于 2015-1-30 07:10:29

清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。

乐观 发表于 2015-2-6 10:00:15

你需要提供精确有效的信息。Linux这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。

再见西城 发表于 2015-2-15 23:23:49

另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。

因胸联盟 发表于 2015-3-4 20:44:54

对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。

变相怪杰 发表于 2015-3-11 21:14:27

另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。

只想知道 发表于 2015-3-19 16:38:08

用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。

admin 发表于 2015-3-30 00:01:46

现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。
页: [1]
查看完整版本: 来一发Shell剧本之主动修正IP