ansible(13)--ansible的lineinfile模块
1. lineinfile模块
功能:修改或删除文件内容,与系统中的 sed 命令类似;
主要参数如下:
| 参数 | 说明 |
|---|---|
| path | 指定要操作的文件 |
| regexp | 使用正则表达式匹配对应的行 |
| line | 修改为新的内容 |
| insertafter | 将文本插入到“指定的行”之后 |
| insertbefore | 将文本插入到“指定的行”之前 |
| state | 删除对应的文本时,需要state=absent |
| backrefs | 1.支持后向引用、2.当未匹配到内容则不操作文件 |
| backup | 是否在修改文件之前对文件进行备份 |
| create | 当要操作的文件并不存在时,是否创建对应的文件 |
-
示例一:将
SELINUX修改为disabled状态;[root@xuzhichao ~]# ansible localhost -m lineinfile -a 'path=/etc/selinux/config regexp="^SELINUX" line="SELINUX=disabled"' -
示例二:为被控主机添加一个
DNS地址:223.5.5.5:[root@xuzhichao ~]# ansible NginxWebs -m lineinfile -a 'path=/etc/sysconfig/network-scripts/ifcfg-eth1 line="DNS2=223.5.5.5" insertafter="DNS1"' -
示例三:删除
/etc/sudoers文件中%wheel开头的行;[root@xuzhichao ~]# ansible localhost -m lineinfile -a 'path=/etc/sudoers regexp='^%wheel' state=absent' -
示例四:修改默认
Apache的端口为8080,使用insertafter;[root@xuzhichao ~]# ansible localhost -m lineinfile -a 'path=/etc/httpd/conf/httpd.conf regexp='^Listen' line="Listen 8080" insertafter='^#Listen''

浙公网安备 33010602011771号