1.register 捕获 task 的输出,并将它保存到一个变量中,方便在以后的任务中调用。
实例1:
- name: Check the user
hosts: 192.168.37.10
tasks:
- name: View the logged in user name
shell: whoami
register: user
- debug:
var: user
执行结果:
执行结果参数说明:
change: 表示执行命令的状态,如果命令执行了,则为 true;
cmd: 表示的则是你当前执行的命令;
delta: 表示命令执行所花费的时间
start: 表示命令开始执行的时间
end: 表示命令结束的时间
failed: 表示命令执行的结果,如果为 false 则表示命令执行成功,true 则表示命令执行失败
rc: 表示命令执行的返回码(return code),0 表示执行成功;
stderr:命令输出的标准错误信息
stderr_lines: 按换行符分割输出的内容,在多行输出时,显示的效果比 stderr 更加直观
stdout: 命令的标准输出信息
stdout_lines: 按换行符分割输出的内容,在多行输出时,结果更加直观
实例2:直接输出变量的值
---
- name: Check the user
hosts: 192.168.37.10
tasks:
- name: View the logged in user name
shell: whoami
register: user
- debug:
msg: "{{user.stdout}}"
执行结果:
执行结果2.file 模块:
实例:
- hosts: all
remote_user: root
gather_facts: false
tasks:
- name: "file模块在目标服务器创建文件夹"
file:
path: "/opt/filemodule"
state: directory
owner: root
group: root
mode: 755
- name: "file模块在目标服务器上创建文件"
file:
path: /opt/filemodule/filemodulesetup.txt
state: touch
owner: root
group: root
mode: 755
- name: "file模块在目标服务器上删除文件"
file:
path: "/opt/filemodule/filemodulesetup.txt"
state: absent
参数说明:
path参数:必须参数,用于指定要操作的文件或目录。
state参数:此参数非常灵活,此参数对应的值需要根据情况设定,需要创建目录时将state的值设置为directory,需要创建文件时,将state的值设置为touch,当想要创建软链接文件时,需将state设置为link,想要创建硬链接文件时,需要将state设置为hard,当我们想要删除一个文件时则需要将state的值设置为absent
src参数:当state设置为link或者hard时,必须指明软链或硬链链接的哪个文件,通过src参数即可指定链接源。
force参数: 当state=link的时候,可配合此参数强制创建链接文件,当force=yes时,表示强制创建链接文件,不过强制创建链接文件分为两种情况,情况一:当你要创建的链接文件指向的源文件并不存在时,使用此参数,可以先强制创建出链接文件。情况二:当你要创建链接文件的目录中已经存在与链接文件同名的文件时,将force设置为yes,回将同名文件覆盖为链接文件,相当于删除同名文件,创建链接文件。情况三:当你要创建链接文件的目录中已经存在与链接文件同名的文件,并且链接文件指向的源文件也不存在,这时会强制替换同名文件为链接文件。
owner参数:用于指定被操作文件的属主,属主对应的用户必须在远程主机中存在,否则会报错。
group参数:用于指定被操作文件的属组,属组对应的组必须在远程主机中存在,否则会报错。
mode参数:用于指定被操作文件的权限,比如,如果想要将文件权限设置为"rw-r-x---",则可以使用mode=650进行设置
recurse参数:当要操作的文件为目录,将recurse设置为yes,可以递归的修改目录中文件的属性。
网友评论