工作中需要指定添加hosts信息到大数据平台集群之中,为方便添加,用shell脚本实现交互添加

测试脚本:

1.addhost.ex (实现分发功能)

#!/usr/bin/expect -f
set ip [lindex $argv 0]
set user [lindex $argv 1]
set passwd [lindex $argv 2]
set username [lindex $argv 3]
set userpasswd [lindex $argv 4]
set homepath [lindex $argv 5]
send_user "\n===============================$ip=========================================\n"
set timeout 4
spawn ssh $user@$ip

set timeout 4
expect {
"(yes/no*" {send "yes\r";exp_continue}
"*assword:" {send "$passwd\r"}
}

set timeout 4
expect "$"
send "sudo su - \r"

set timeout 4
expect "*assword"
send "$passwd\r"

set timeout 4
expect "#"
send "

\r"

expect eof

2.addnode.py (生成一段字符串)

import re
port=9101

with open('iplist','r') as op:
  for i in op.readlines():
    regex = re.compile('\s+')
    ip=regex.split(i)[0]
    hostname=regex.split(i.replace('\n',''))[1]
#    print ip,hostname
    print "echo -e '"+str(ip)+" \\"+"\\t"+str(hostname)+"' >> /etc/hosts"

3.addhost.sh (命令执行)

#!/bin/bash

python addnode.py > tmphost

sed -i '28r tmphost' addhost.ex
cat addhost.ex
#for ip in `cat ip`;do expect addhost.ex ${ip}  用户  密码;done
sleep 5
###sed -i '29,$[28+`cat tmphost|wc -l`d]' addhost.ex
row=$[28+`cat tmphost|wc -l`]
echo $row
sed -i "29,$row"d addhost.ex

cat addhost.ex

具体脚本通过修改ip 与iplist 执行addhost.sh就搞定添加到指定IP的/etc/hosts中:

shell 的一个小 脚本模板实现hosts添加相关推荐

  1. bash脚本创建变量_创建一个Bash脚本模板

    bash脚本创建变量 在本系列的第一篇文章中,您创建了一个很小的单行Bash脚本,并探讨了创建Shell脚本的原因,以及为什么它们是系统管理员而非编译程序最有效的选择. 在第二篇文章中,您将开始创建一 ...

  2. 一个小脚本从小说中过滤出经常出现的人名

    一个小脚本从小说中过滤出经常出现的人名  花名获取利器!  作者:高鹏 小说中,人名后经常跟着一个动词或者介词,根据这一点可以找出常见的人名.下面用一个小shell脚本来玩一下^.^ 脚本如下: Sh ...

  3. Shell 定时清理小脚本

    2019独角兽企业重金招聘Python工程师标准>>> [絮叨在先] 相信同仁们一定遇到过日志量过大.磁盘满,导致正在运行的系统罢工的情况吧! 下面是我自己写的小脚本,专门清理多余日 ...

  4. shell清除日志小脚本

    1 #!/bin/bash 2 #清除日志脚本 3 LOG_DIR=/var/log 4 ROOT_UID=0 #用户id为0的 ,即为root 5 6 if [ "$UID" - ...

  5. 花之吻自己查错误订单的一个小脚本

    var arr=[] var num = 0; var domI = $('#qorderNo'); function zzx(){ num++; console.log(arr[num]) domI ...

  6. 【用python写一个Magicka1(初代魔能)游戏的小脚本】

    Magicka小脚本 magicka是一个十分好玩的小游戏,奈何需要手动搓魔法,本人经常记错咒语导致紧要关头常常被boss直接击杀(惨),不过这些现在都不重要了,因为我写了一个小脚本,可以直接一键放技 ...

  7. Mysql 监控小脚本

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relation ...

  8. 自己Ubuntu里面的一些小脚本

    2019独角兽企业重金招聘Python工程师标准>>> 我使用的是Ubuntu12.10,下面介绍一下本人常用的一些脚本 1. import dbus bus = dbus.Sess ...

  9. python分词统计词频_基于结巴分词做的全文分词统计词频小脚本

    受朋友之托,写一个小脚本,断断续续做了两天,写一下两天的收获. 起因 有个朋友说专业文档很枯燥难懂,需要一个能把全文的关键词找出来并排序的东西,找不到现成的,问我能不能做一个.我前些天也听车神说有关分 ...

最新文章

  1. python培训机构推荐-广州有哪些不错的python培训班
  2. 《重构:改善既有代码的设计》阅读笔记
  3. Spring Boot Quartz应用
  4. 3、C#面向对象:封装、继承、多态、String、集合、文件(下)
  5. android升序降序按钮,创建一个按钮,将排序MYSQL查询升序和降序
  6. 学会这个技能,让你的Fitnesse锦上添花
  7. 百度编辑器 ueditor .net开发
  8. Java基础知识强化之IO流笔记19:FileOutputStream的三个write方法
  9. 超级P2P搜索引擎使用教程和下载地址
  10. 蚂蚁(挑战程序设计竞赛)
  11. 计算机操作和电子技术应用,电子技术应用是学什么
  12. 颜色名称及色样表(HTML版)
  13. 自动生成员工号c语言,C语言课程设计级.doc
  14. 计算机设置ip后提示未识别网络连接,Win7出现提示“未识别的网络无Internet访问”怎么解决?...
  15. 联盟链系列 - 中间CA颁发证书
  16. 90后大学生卖煎饼月收入4k
  17. 双活数据中心负载均衡理解
  18. 2021-07-18 三种视图的dicom文件的生成
  19. 开启灯光就是近光吗_大灯开启是近光灯吗
  20. 急!!!微信公众号数据迁移后openid无法转换

热门文章

  1. 即将升级的LDK7.1支持云授权了
  2. oracle 存储过程基本语法
  3. JAVA考试多选题判断得分
  4. linux 用户和组的相关文件和命令
  5. 老胡的周刊(第084期)
  6. Tcp accept 10038错误
  7. driver 的功能是什么
  8. 什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的使用范围。
  9. Python通过区号和校验位校验身份证号是否合法
  10. 揭秘世上唯一无癌国家吃什么?原来肿瘤也有克星