ansible使用linefile批量修改网卡配置文件及host解析

一.使用ansible批量给主机添加host或者修改host

1.新增一个host解析

ansible test -m lineinfile -a 'path=/etc/hosts line="192.168.1.1 www.htjs.net"'

2.修改hosts文件

ansible test -m lineinfile -a 'path=/etc/hosts regexp="^192.168.1.1" line="1.1.1.1 www.htjs.net"' 

3.修改网卡配置文件里面DNS服务器地址

网卡配置文件默认的地址是192.168.0.10,修改为8.8.8.8

原始网卡配置文件如下

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens32"
UUID="36b0415e-2a2e-4b42-bd4f-d2a695df5316"
DEVICE="ens32"
ONBOOT="yes"
IPADDR="10.10.20.3"
PREFIX="16"
GATEWAY="10.10.10.254"
DNS1=192.168.0.10
IPV6_PRIVACY="no"

执行修改命令

ansible test -m lineinfile -a 'path=/etc/sysconfig/network-scripts/ifcfg-ens32 regexp="^DNS1" line="DNS1=8.8.8.8"'

#输出结果
10.10.20.3 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "backup": "", 
    "changed": true, 
    "msg": "line replaced"
}

修改后即变成

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens32"
UUID="36b0415e-2a2e-4b42-bd4f-d2a695df5316"
DEVICE="ens32"
ONBOOT="yes"
IPADDR="10.10.20.3"
PREFIX="16"
GATEWAY="10.10.10.254"
DNS1=8.8.8.8
IPV6_PRIVACY="no"

修改后执行如下命令批量重启网卡

 

ansible test -m service -a 'name=network state=restarted'

你可能感兴趣的:(ansible,网络,服务器)