Ansible模块[09]:file
应用
- 可以帮助我们完成一些对文件操作,创建文件或目录、删除文件或目录、修改文件权限。
参数
-
path:指明要操作的对象[文件或目录]。
-
state:
-
state=directory:创建的是一个目录文件。
-
state=touch:创建的是一个普通文件。
-
state=link:创建的是一个软连接。
-
state=hard:创建的是一个硬链接。
-
state=absent:删除普通文件或是目录问文件。
-
-
src:当state=link或是state=hard时,需要指明链接的是哪个文件,通过src参数即可指定链接源。
-
force : 当state=link的时候,可配合此参数强制创建链接文件。force=yes时,表示强制创建链接文件,不过强制创建链接文件分为第三种情况。
- 情况一:当要创建的链接文件指向的源文件并不存在时,使用此参数,可以先强制创建出链接文件。
- 情况二:当要创建链接文件的目录中已经存在与链接文件同名的文件时,会将同名文件覆盖为链接文件,相当于删除同名文件,创建链接文件。
- 情况三:当要创建链接文件的目录中已经存在与链接文件同名的文件,并且链接文件指向的源文件也不存在,这时会强制替换同名文件为链接文件。
-
owner :用于指定被操作文件的属主,属主对应的用户必须在远程主机中存在,否则会报错。
-
group :用于指定被操作文件的属组,属组对应的组必须在远程主机中存在,否则会报错。
-
mode:用于指定被操作文件的权限。
-
recurse:当要操作的文件为目录,将recurse设置为yes,可以递归的修改目录中文件的属性。
示例:
1、创建一个普通文件。
ansible box -m file -a "path=/home/box/test01 state=touch"
2、创建一个目录文件。
ansible box -m file -a "path=/home/box/ state=directory"
3、删除一个文件。
ansible box -m file -a "path=/home/box/ state=absent"
4、修改文件属性。
anisble box -m file -a 'path=/home/box/test01 owner=test01 group=test01 mode=0755'
5、递归修改属性
anisble box -m file -a 'path=/home/box/ owner=test01 group=test01 mode=0755 recurse=yes'
6、强制创建软l链接文件。
anisble box -m file -a 'path=/home/box/test01 src=/tmp/test_link force'

浙公网安备 33010602011771号