Ansible 之 lineinfile 模块使用
16lz
2021-01-22
一、常用需求
1、替换某行内容2、在某行前插入内容3、在某行后面插入内容4、删除某行
二、测试文件内容
[client]port=3306socket=/tmp/mysql.sock[mysqld]user = mysqlbasedir = /app/mysqldatadir = /app/mysql/dataport=3306server-id = 1socket=/tmp/mysql.sock[mysqldump]quickmax_allowed_packet = 16M
三、playbook 文件
---- hosts: test remote_user: cedar become: yes tasks: - name: "在socket=/tmp/mysql.sock前插入内容" lineinfile: path: /etc/my_bak.cnf insertbefore: 'socket=/tmp/mysql.sock' line: 我是socket前面的内容 - name: "在server-id后插入内容" lineinfile: path: /etc/my_bak.cnf insertafter: 'server-id = 1' line: 我是server-id后面的内容 - name: "user=mysql 替换" lineinfile: path: /etc/my_bak.cnf regexp: '^user = mysql' line: user = mingkang - name: "删除quick这行" lineinfile: path: /etc/my_bak.cnf regexp: 'quick' state: absent
四、运行结果
[root@Ansible playbook]# ansible-playbook lineinfile.yaml PLAY [test] *****************************************************************************************************************************************************TASK [Gathering Facts] ******************************************************************************************************************************************ok: [10.3.153.8]TASK [在socket=/tmp/mysql.sock前插入内容] *****************************************************************************************************************************changed: [10.3.153.8]TASK [在server-id后插入内容] ******************************************************************************************************************************************changed: [10.3.153.8]TASK [user=mysql 替换] ********************************************************************************************************************************************changed: [10.3.153.8]TASK [删除quick这行] ************************************************************************************************************************************************changed: [10.3.153.8]PLAY RECAP ******************************************************************************************************************************************************10.3.153.8 : ok=5 changed=4 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
五、验证结果
[root@ansible-test etc]# cat my_bak.cnf [client]port=3306socket=/tmp/mysql.sock[mysqld]user = mingkangbasedir = /app/mysqldatadir = /app/mysql/dataport=3306server-id = 1我是server-id后面的内容我是socket前面的内容socket=/tmp/mysql.sock[mysqldump]max_allowed_packet = 16M
©著作权归作者所有:来自51CTO博客作者wx592bc92b285c7的原创作品,如需转载,请注明出处,否则将追究法律责任好知识,才能预见未来
赞赏
0人进行了赞赏支持
更多相关文章
- 7、文件系统与磁盘划分
- spring boot 上传文件到指定目录
- 程序员如何优雅的排版公众号的内容
- 创建第一个".py" 和 ".ipynb" 文件
- 混合内容下的浏览器行为 [每日前端夜话(0x08)]
- 面试官最爱问你的,网络分层中每一层有哪些内容
- Python办公自动化|批量处理文件,一学就会
- JDBC自定义工具类(properties配置文件方式)
- Jar 文件(学习 Java 编程语言 037)