news 2026/7/19 2:47:53

使用content直接写入内容

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用content直接写入内容

root@master:~# ansible web -m copy -a ‘dest=/data00/check.sh backup=yes content=123’
10.37.120.9 | CHANGED => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/local/bin/python3.13”
},
# 可以看到这里已经备份了
“backup_file”: “/data00/check.sh.153008.2026-07-10@11:21:34~”,
“changed”: true,
“checksum”: “40bd001563085fc35165329ea1ff5c5ecbdbbeef”,
“dest”: “/data00/check.sh”,
“gid”: 0,
“group”: “root”,
“md5sum”: “202cb962ac59075b964b07152d234b70”,
“mode”: “0644”,
“owner”: “root”,
“size”: 3,
“src”: “/root/.ansible/tmp/ansible-tmp-1783653694.0950441-1977803-183011264332546/.source.sh”,
“state”: “file”,
“uid”: 0
}
10.37.99.63 | CHANGED => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/local/bin/python3.13”
},
“backup_file”: “/data00/check.sh.160197.2026-07-10@11:21:34~”,
“changed”: true,
“checksum”: “40bd001563085fc35165329ea1ff5c5ecbdbbeef”,
“dest”: “/data00/check.sh”,
“gid”: 0,
“group”: “root”,
“md5sum”: “202cb962ac59075b964b07152d234b70”,
“mode”: “0644”,
“owner”: “root”,
“size”: 3,
“src”: “/root/.ansible/tmp/ansible-tmp-1783653694.092595-1977802-74590298560295/.source.sh”,
“state”: “file”,
“uid”: 0
}
fetch
拉取远程文件到本地,自动按主机名分目录存储,仅支持文件,不支持目录。
核心参数:

src:远程系统上要获取的文件。 这必须是一个文件,而不是一个目录。 后续版本可能会支持递归提取。
dest:保存文件的目录。 例如,如果dest目录是/backup,在主机host.example.com上命名为/ etc/profile的src文件将被保存
示例:

root@master:~# ansible web -m fetch -a ‘src=/etc/hosts dest=/data00’
10.37.120.9 | CHANGED => {
“changed”: true,
“checksum”: “ce9964c64b3d6c002d8a0fdc015009090fa5ccf0”,
# 拉取到本地的这个目录下
“dest”: “/data00/10.37.120.9/etc/hosts”,
“file”: “/etc/hosts”,
“md5sum”: “1b3869c148c86190b1b5c004a91adf0f”,
“remote_checksum”: “ce9964c64b3d6c002d8a0fdc015009090fa5ccf0”,
“remote_md5sum”: null
}
10.37.99.63 | CHANGED => {
“changed”: true,
“checksum”: “a3f1671554da35a2b22a0a4c3d3f611528745891”,
“dest”: “/data00/10.37.99.63/etc/hosts”,
“file”: “/etc/hosts”,
“md5sum”: “bea8ca6ca04563655de18130ddab5d22”,
“remote_checksum”: “a3f1671554da35a2b22a0a4c3d3f611528745891”,
“remote_md5sum”: null
}
lineinfile
修改文件中的行,类似linux工具中的sed工具,确保某一行文本存在于指定的文件中,或者确保从文件中删除指定的文本(即确保指定的文本不存在于文件中),还可以根据正则表达式,替换修改某一行文本

参数:

path :必须参数,指定要操作的文件。
line : 使用此参数指定文本内容。
regexp :使用正则表达式匹配对应的行,当替换文本时,如果有多行文本都能被匹配,则只有最后面被匹配到的那行文本才会被替换,当删除文本时,如果有多行文本都能被匹配,这么这些行都会被删除。
state :当想要删除对应的文本时,需要将state参数的值设置为absent,absent为缺席之意,表示删除,state的默认值为present。
backrefs :默认是yes,backrefs为yes时,如果没有匹配,则文件保持不变。如果匹配了,把匹配内容替被换为line内容,backrefs为no时,如果没有匹配,则添加一行line。如果匹配了,则把匹配内容替被换为line内容。
insertafter :借助insertafter参数可以将文本插入到“指定的行”之后,insertafter参数的值可以设置为EOF或者正则表达式,EOF为End Of File之意,表示插入到文档的末尾,默认情况下insertafter的值为EOF,如果将insertafter的值设置为正则表达式,表示将文本插入到匹配到正则的行之后,如果正则没有匹配到任何行,则插入到文件末尾,当使用backrefs参数时,此参数会被忽略。
insertbefore :借助insertbefore参数可以将文本插入到“指定的行”之前,insertbefore参数的值可以设置为BOF或者正则表达式,BOF为Begin Of File之意,表示插入到文档的开头,如果将insertbefore的值设置为正则表达式,表示将文本插入到匹配到正则的行之前,如果正则没有匹配到任何行,则插入到文件末尾,当使用backrefs参数时,此参数会被忽略。
backup :是否在修改文件之前对文件进行备份。
create :当要操作的文件并不存在时,是否创建对应的文件。
示例:

在指定文件中写入内容

root@master:~# ansible web -m lineinfile -a ‘path=/data00/check.sh line=456’
10.37.120.9 | CHANGED => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/local/bin/python3.13”
},
“backup”: “”,
“changed”: true,
“msg”: “line added”
}
10.37.99.63 | CHANGED => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/local/bin/python3.13”
},
“backup”: “”,
“changed”: true,
“msg”: “line added”
}

查看一下

root@master:~# ansible web -m command -a ‘cat /data00/check.sh’
10.37.120.9 | CHANGED | rc=0 >>
123
456
10.37.99.63 | CHANGED | rc=0 >>
123
456
blockinfile
插入 / 删除一段多行内容,自带# BEGIN/END ANSIBLE MANAGED BLOCK标记,只管理标记内内容。

参数:

path :必须参数,指定要操作的文件。
block : 使用此参数指定文本块内容。
state :当想要删除对应的文本时,需要将state参数的值设置为absent,absent为缺席之意,表示删除,state的默认值为present。
insertafter :借助insertafter参数可以将文本插入到“指定的行”之后,insertafter参数的值可以设置为EOF或者正则表达式,EOF为End Of File之意,表示插入到文档的末尾,默认情况下insertafter的值为EOF,如果将insertafter的值设置为正则表达式,表示将文本插入到匹配到正则的行之后,如果正则没有匹配到任何行,则插入到文件末尾,当使用backrefs参数时,此参数会被忽略。
insertbefore :借助insertbefore参数可以将文本插入到“指定的行”之前,insertbefore参数的值可以设置为BOF或者正则表达式,BOF为Begin Of File之意,表示插入到文档的开头,如果将insertbefore的值设置为正则表达式,表示将文本插入到匹配到正则的行之前,如果正则没有匹配到任何行,则插入到文件末尾,当使用backrefs参数时,此参数会被忽略。
backup :是否在修改文件之前对文件进行备份。
create :当要操作的文件并不存在时,是否创建对应的文件。
marker:默认值# {mark} ANSIBLE MANAGED BLOCK,自定义标记行的模板。{mark} 是一个占位符,会被替换为 BEGIN 和 END
示例:

root@master:~# ansible web -m blockinfile -a “path=/data00/check.sh block=123456789 marker=‘# {mark} ANSIBLE MANAGED BLOCK’”
10.37.120.9 | CHANGED => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/local/bin/python3.13”
},
“changed”: true,
“msg”: “Block inserted”
}
10.37.99.63 | CHANGED => {
“ansible_facts”: {
“discovered_interpreter_python”: “/usr/local/bin/python3.13”
},
“changed”: true,
“msg”: “Block inserted”
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/19 2:47:50

告别繁琐搜索:百度网盘提取码智能获取工具使用指南

告别繁琐搜索:百度网盘提取码智能获取工具使用指南 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享链接的提取码而烦恼吗&#xff1f…

作者头像 李华
网站建设 2026/7/19 2:45:34

【新闻】675!艾为官网应用方案数量再创新高!深耕端侧 AI 多元应用

艾为官网应用方案数量再创新高!目前官网应用中心场景适配框图数量已有675个,端侧AI方案框图:54个,本周新增框图7个(家用燃气报警器、家用烟雾报警器、AI智能风扇、除螨仪、手持吸尘器、电动拖把、AI办公平板电脑&#…

作者头像 李华
网站建设 2026/7/19 2:45:16

Java开发环境配置与核心语法精要

1. Java编程语言概述 Java作为一门面向对象的编程语言,自1995年由Sun Microsystems发布以来,已经成为全球最流行的开发平台之一。它的"一次编写,到处运行"特性通过Java虚拟机(JVM)实现,使得开发者可以构建跨平台的应用…

作者头像 李华
网站建设 2026/7/19 2:45:02

Python开发环境搭建与基础语法入门指南

1. Python入门指南:从零开始搭建开发环境第一次接触Python时,最让人困惑的就是如何正确安装和配置开发环境。作为一门跨平台的编程语言,Python在不同操作系统上的安装方式各有特点。我建议新手直接从Python官网下载最新稳定版,目前…

作者头像 李华
网站建设 2026/7/19 2:44:55

Flask-Login用户认证实现与最佳实践

1. Flask-Login 的核心作用与实现原理 Flask-Login 是 Flask 生态中处理用户认证的标准解决方案,它通过 session 机制实现了用户状态的持久化。与直接操作 session 和 cookie 相比,Flask-Login 提供了更完整的解决方案: 用户会话管理 &…

作者头像 李华