为什么80%的码农都做不了架构师?>>>   

1.首先看看我的hosts配置

root@jastme:/etc/ansible/playbooks# more ../hosts
[test]
192.168.32.131 ansible_connection=local
[test1]
192.168.32.133 ansible_ssh_pass=123
[test2]
192.168.32.132 ansible_ssh_pass=123
[testall]
192.168.32.132 ansible_ssh_pass=123
192.168.32.133 ansible_ssh_pass=123

2.看看2台主机的原始机器名

主机1
[root@ZooKeeper-01 ~]# hostname
ZooKeeper-01
[root@ZooKeeper-01 ~]# ifconfig eth2
eth2      Link encap:Ethernet  HWaddr 00:0C:29:58:95:55  inet addr:192.168.32.132  Bcast:192.168.32.255  Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:39614 errors:0 dropped:0 overruns:0 frame:0TX packets:18265 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:5279094 (5.0 MiB)  TX bytes:1110521 (1.0 MiB)主机2
[root@ZooKeeper-02 ~]# hostname
ZooKeeper-02
[root@ZooKeeper-02 ~]# ifconfig eth2
eth2      Link encap:Ethernet  HWaddr 00:0C:29:C8:7F:48  inet addr:192.168.32.133  Bcast:192.168.32.255  Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:41538 errors:0 dropped:0 overruns:0 frame:0TX packets:20085 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:6164131 (5.8 MiB)  TX bytes:1729825 (1.6 MiB)

3. 目标

我们需要需要改这两台机器的主机名,按照他们自己的IP修改   类似  web132  web133

4. playbook

root@jastme:/etc/ansible/playbooks# more changehostname.yml
- hosts : testallremote_user : roottasks :- name : show hostnameshell : hostname- name : show ipcommand : ip a- hostname : name=web{{ ansible_default_ipv4.address.split('.')[-1] }}                         #直接调用res字典,引用成变量

5.执行一下,看看结果

root@jastme:/etc/ansible/playbooks# ansible-playbook changehostname.yml             PLAY [testall] **************************************************************** GATHERING FACTS ***************************************************************
ok: [192.168.32.133]                                                                                               #IP
{'module_name': 'setup', 'module_complex_args': {}, 'module_args': ''}
ok: [192.168.32.132]
{'module_name': 'setup', 'module_complex_args': {}, 'module_args': ''}TASK: [show hostname] *********************************************************
changed: [192.168.32.133]
ZooKeeper-02                                                                                                        #主机名
{'module_name': u'shell', 'module_complex_args': {}, 'module_args': u'hostname'}
changed: [192.168.32.132]
ZooKeeper-01
{'module_name': u'shell', 'module_complex_args': {}, 'module_args': u'hostname'}TASK: [show ip] ***************************************************************
changed: [192.168.32.133]
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 qlen 1000link/ether 00:0c:29:c8:7f:34 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 qlen 1000link/ether 00:0c:29:c8:7f:3e brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000link/ether 00:0c:29:c8:7f:48 brd ff:ff:ff:ff:ff:ffinet 192.168.32.133/24 brd 192.168.32.255 scope global eth2
5: eth3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 qlen 1000link/ether 00:0c:29:c8:7f:34 brd ff:ff:ff:ff:ff:ff
6: eth4: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 qlen 1000link/ether 00:0c:29:c8:7f:3e brd ff:ff:ff:ff:ff:ff
7: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue link/ether 00:0c:29:c8:7f:34 brd ff:ff:ff:ff:ff:ffinet 144.148.64.230/24 brd 144.148.64.255 scope global bond0inet 144.148.64.231/32 brd 144.148.64.231 scope global bond0:0
8: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue link/ether 00:0c:29:c8:7f:3e brd ff:ff:ff:ff:ff:ffinet 10.25.17.82/24 brd 10.25.17.255 scope global bond1inet 10.25.17.83/32 brd 10.25.17.83 scope global bond1:0
{'module_name': u'command', 'module_complex_args': {}, 'module_args': u'ip a'}
changed: [192.168.32.132]
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 qlen 1000link/ether 00:0c:29:58:95:41 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 qlen 1000link/ether 00:0c:29:58:95:4b brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000link/ether 00:0c:29:58:95:55 brd ff:ff:ff:ff:ff:ffinet 192.168.32.132/24 brd 192.168.32.255 scope global eth2
5: eth3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 qlen 1000link/ether 00:0c:29:58:95:41 brd ff:ff:ff:ff:ff:ff
6: eth4: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 qlen 1000link/ether 00:0c:29:58:95:4b brd ff:ff:ff:ff:ff:ff
7: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue link/ether 00:0c:29:58:95:41 brd ff:ff:ff:ff:ff:ffinet 144.148.64.229/24 brd 144.148.64.255 scope global bond0
8: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue link/ether 00:0c:29:58:95:4b brd ff:ff:ff:ff:ff:ffinet 10.25.17.81/24 brd 10.25.17.255 scope global bond1
{'module_name': u'command', 'module_complex_args': {}, 'module_args': u'ip a'}TASK: [hostname name=web{{ ansible_default_ipv4.address.split('.')[-1] }}] ****
changed: [192.168.32.133]
{'module_name': u'hostname', 'module_complex_args': {}, 'module_args': u'name=web133'}                                      #这里就是我们需要的操作  可以看见主机名已经被修改成功
changed: [192.168.32.132]
{'module_name': u'hostname', 'module_complex_args': {}, 'module_args': u'name=web132'}PLAY RECAP ********************************************************************
192.168.32.132             : ok=4    changed=3    unreachable=0    failed=0
192.168.32.133             : ok=4    changed=3    unreachable=0    failed=0

6. 验证

[root@ZooKeeper-01 ~]# hostname
web132[root@ZooKeeper-02 ~]# hostname
web133

验证修改成功。。。

转载于:https://my.oschina.net/jastme/blog/510707

ansible 使用主机IP批量修改机器名相关推荐

  1. 修改机器名、IP对arcgis server、portal的影响?

    修改机器名.IP是否对ArcGIS Server .Portal等有影响? 请教赛姐:修改IP对ArcGIS Server .Portal 无影响,不过建议将ArcGIS Server .Portal ...

  2. mac 终端 计算机名,mac 修改机器名

    mac使用技巧三则 1.修改机器名 mac安装完成以后会默认将你的机器设成"rainbird's Macbook Pro"之类的名字.这个本身看着就不爽,如果这台机器是别人先用你再 ...

  3. python重命名文件pycharm_Python中批量修改变量名太费劲?Pycharm中使用重命名一次搞定...

    标签:rename   current   变量   阅读   tor   小伙伴   search   其他   就是如果程序中有一个变量被用得比较多,但名字起得不是很好,导致其他阅读程序的人搞不清 ...

  4. Idea批量修改变量名

    Idea批量修改变量名.在变量名上进行rename操作,所有的同名变量都会自动更改. 快捷键:ALT+SHIFT+R

  5. python-argparse批量修改后缀名-batch_file_rename.py

    python-argparse批量修改后缀名-batch_file_rename.py #!/bin/usr/env python3__author__ = 'nxz'import os import ...

  6. mysql批量取消多行sql_mysql批量删除指定前缀的表,批量修改表名的SQL语句

    批量删除指定前缀的表 Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where tabl ...

  7. ip-guard如果服务器 IP 地址或机器名变更之后对客户端或控制台会有影响吗?

    1. 服务器的 IP 地址或机器名变更包括两种情况:一种是服务器所在的计算机 IP 地址或机器名发生了变化,另一种情况是服务器迁移到别的计算机上改变了 IP 地址或机器名:第一种情况如果服务器开启了主 ...

  8. 用python批量修改后缀名

    今天刚接触了一下python,觉得python和java的语言有很大不同.虽然厚实面向对象,但是写法有很大区别.相比较java的大量的声明和实例化,python则简介了很多.学起来也蛮有趣的.根据网上 ...

  9. IDEA 批量修改变量名、批量替换代码快捷键

    平时学习过程中经常遇到一些变量名需要依照规范来修改的,这里记录Idea批量修改变量名,或者批量修改代码的快捷键,希望对大家有所帮助吧. 1. 使用Shift + F6批量修改变量名 选中要修改的变量名 ...

最新文章

  1. hp惠普笔记本电脑黑屏大小写锁定键闪烁报错无法开机怎么办?
  2. 重磅!教育部:不得将发论文和物质奖励挂钩,防止高额奖励论文
  3. 记账本------4
  4. python编程基础_月隐学python第2课
  5. phpcms发布新闻到数据库_如何利用PHPCMS调用新闻列表
  6. 某些您可以编辑的区域交叠在一起 可能不能同时显示_DX200操作要领—修改与编辑程序(三十九)...
  7. 三步学会 Debug 神器,效率提升不少!
  8. 彻底理解PHP的SESSION机制
  9. python爬虫下一页_Python爬虫怎么获取下一页的URL和网页内容?
  10. Web前端可视化绘图软件编辑器-汇总
  11. 链路聚合的配置(思科)
  12. Java代理模式实现与原理详解(一)
  13. Java文件上传接口
  14. 谷歌 draco学习 二 压缩点信息
  15. 非洲正在打造一个完全不同的人工智能产业
  16. java 正数转负数函数_Java数学函数将正整数转换为负数并将负整数转换为正数?...
  17. 【汇正财经】股本的法律规范
  18. img标签图片按照比例大小缩放
  19. Android内部存储和外部存储
  20. Ubuntu18.04 安装SDN ryu+mininet

热门文章

  1. 马斯克一说特斯拉“全自动驾驶”,大家就想笑
  2. DeepMind和Unity合作,创建虚拟世界来训练AI
  3. 亚马逊无人超市Amazon Go这次是真的真的开业了
  4. read while循环 tar脚本
  5. 造成美国断网的“凶手论坛”,终于关闭了DDoS版块
  6. 编译安装RRDtool报错
  7. 用Fragments创建动态UI(翻译)
  8. myeclipse6.5集成freemaker
  9. Springboot2.0从零开始搭建脚手架-初始化和整合MybatisPlus3.0+...
  10. linux下的powerline安装教程