Copy模块常用参数:
src参数: 用于指定需要copy的文件或目录
dest参数: 用于指定文件指被拷贝到远程主机的哪个目录中,dest为必须参数。
content参数: 当不使用src指定拷贝的文件时,可以使用content直接指定文件内容,src与content两个参数必有其一,否则会服错。
force参数: 当远程主机的目标路径中已经存在同名文件,并目与ansible主机中的文件内容不同时,是否强制覆盖,可选值有yes和no,默认值为yes,表示覆盖
backup参数: 当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否对远程主机的文件进行备份,可选值有yes和no,当设置为yes时,会先备份远程主机中的文件,然后再将ansible主机中的文件考贝到远程主机。
owner参数: 指定文件指贝到远程主机后的属主,但是远程主机上必须有对应的用户,否则会报错
group参数: 指定文件拷贝到远程主机后的属组,但是远程主机上必须有对应的组,否则会报错。
mode参数: 指定文件拷贝到远程主机后的权限,如果你将权限设置为”rw·r-r“,则可以使用mode.0644表示,如果你想要在user对应的权限位上添加执行权限,则可以
fetch模块常用参数:
src参数:用于指定需要copy的文件或目录,src为必须参数
dest参数: 用于指定文件将被拷贝到远程主机的哪个目录中,dest为必须参数。flat: 默认值为yes,表示直接使用src定义的目录。值为no时,将更改dest目录为: /dest/HOSTNAMEor IP/src,这一特性在针对多个受管对象运行模块时比较有用。
file模块常用参数
path: Aliases: dest,name,指定文件路径
state: (Choices: absent, directory, file, hard, link, touch)Default: [file]
src: 如果要创建的是软连接或者硬链接,则需要指定原文件
setype: 设置SELinux上下文,类似chcon命令
recurse:当要操作的文件为目录,将 recurse 设置为 yes ,可以递归的修改目录中文件的属性
sefcontext模块
sefcontext配置文件SELinux上下文,类似于semanage fcontext
常用参数:
setype: SELinux type for the specified target
注意: 该命令改SELinux上下文后还需要执行restorecon才能生效
lineinfile模块
确保”某一行文本”存在于指定的文件中,或者确保从文件中删除指定的”文本”《即确保指定的文本不存在于文件中),还可以根据正则表达式,若换”某一行文本”常用参数:
path参数: 必须参数,指定题操作的文件。
line参数: 使用此参数指定文本内容。
regexp参数: 使用正则表达式匹配对应的行,当替换文本时,如果有多行文本都能被匹配,则只有最后面被匹配到的那行文本才会被替换,当删除文本时,如果有多行文本都能被匹配,这么这些行都会被制除。如果未匹乱上,则检查文本内容是否存在,不存在则增加。
state参数: 当想要删除对应的文本时,需要将state参数的值没置为absent,absent为缺席之意,表示删除,state的默认值为present
stat模块
返回指定文件的状态信息
常用参数:
path: 指定文件路径
synchronize目录同步
类似rsync。两于目豪同步,要求源与目标都按装rsync工具常用参数:
src: 必填,源地址路径
dest: 必填,目的地址路经
mode: mode=push,准送ansible (src)>远程主机 (dest) : mode=pull,拉取,远程主机-> ansible (dest),默认为 push(src)
group:文件属组
owner:文件属主
archive: 是否果用档式同步。即以原文件相同属性同步到目标地址,默认为 yes
delete: 是否副除读中攻有而目师存在的文件《即以推送方为主)。默认为 no
compress:是否开启压缩,默认为 yes
jinjia2
什么是jinjia2模板
jinjia模板是仿照 Django 横板的 Python 模板语言,在ansible中建立的一类模板文件,通常以.j2结尾标识。模板的内容含有多个变量,使原本固定的某个文件配置,通过参数的改变,变得可以复用,提高了使用效率。
特性:
1)沙箱中执行
2)强大的 HTML自动转义系统保护系统免受XSS
3)模板继承
4)及时编译最优的 python 代码
5)可选提前编译模板的时间
6)易于调试。异常的行数直接指向模板中的对应行.
7)可配置的语法
jinja2语法
。jinja2模板由数据、变量和表达式组成
。变量和表达式被包含在”{{ }}“中
。控制语句被包含在”{% %}“
。注程被包含在”{# #}”中
。如果不希望这些特殊符号被解释,就使用单引号”把字符串引起来