四、ansible常用模块
1.file模块
file模块主要用于远程主机上的文件的操作,file模块包含下面选项:
? ? ?path : ?必选项,定义目录/目录的路径
? ? ?state ?: ?
? ? ? ? ? ? ? ? ? file ?: ?查看文件状态,默认选项,若文件不存在,也不会被创建,会报错文件不存在,?
? ? ? ? ? ? ? ? ? touch : ?如果文件存在,则会创建一个行的文件,如果文件或目录已存在,则更新时间戳
? ? ? ? ? ? ? ? ? absent ?: ?如果删除目录、文件或者取消链接文件
? ? ? ? ? ? ? ? ? directory : ?如果目录不存在,创建目录?
? ? ? ? ? ? ? ? ? link ? : ? 创建软链接?
? ? ? ? ? ? ? ? ? hard ?: ?创建硬链接
? ? ? ? ? ? ? ? ? owner : 定义文件/目录的属主
? ? ? ? ? ? ? ? ? group : ?定义文件/目录的属组
? ? ? ? ? ? ? ? ? mode : ?定义文件/目录权限
? ? ? ? ? ? ? ? ? src ? ?: ?d要被链接的源文件的路径,只应用于state =link 的情况
? ? ? ? ? ? ? ? ? dest ?: ?被链接到的路径,只应用于state=link的情况
? ? ? ? ? ? ? ? ? force : ?需要在两种情况下强制创建软链接,一种是源文件不存在但之后会建立的情况下;另一种是目标软链接已经存在,需要先取消之前的软链接,然后创建新的软链,有两个选项: yes|no
ansible node1 -m file -a 'path=/root/haha/test.txt state=touch owner=devops group=root mode=744' ? ?: ? ?用file模板指定目录,state是创建文件,拥有人是devops,拥有组是root,权限是744,如果文件存在会修改文件的时间戳
ansible node1 -m file -a 'path=/tmp/test state=directory owner=root group=root mode=755' ? : ? 用file模板指定目录,state是创建目录,拥有人是root,拥有组是root,权限是755,目录存在就不会执行
ansible node1 -m file -a 'path=/tmp/test/aa/bb state=directory owner=root group=root mode=755' ? : ?同上,创建多个目录
ansible node1 -m file -a 'path=/tmp/test state=absent' ? : ?删除多级目录
?