ansbile file模块大体功能同copy模块,下面看看参数
参数 | 选项 | 必须 | 说明 |
follow | yes/no | no | 如果原来的文件是link,拷贝后依旧是link |
follow | yes/no | no | 强制文件操作 |
recurse | yes/no | no | 递归设置目录的属性 |
group | yes/no | no | 设定一个群组拥有拷贝到远程节点的文件权限 |
mode | yes/no | no | 等同于chmod,参数可以为“u+rwx or u=rw,g=r,o=r” |
owner | yes/no | no | 设定一个用户拥有拷贝到远程节点的文件 |
path | yes/no | yes | 目标路径,也可以用dest,name代替 |
src | yes/no | yes |
要被链接的源文件的路径,只应用于state=link的情况 |
state | file/link/directory/hard/touch/absent | no |
file:即使文件不存在,也不会被创建 link:创建软链接 hard:创建硬链接 touch:如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则更新其最后修改时间 absent:删除目录、文件或者取消链接文件 |
不对之处请看官方文档 |
1.1.修改文件属性示例
源文件:
# ll total 4 -rw-r--r-- 1 root root 17 Dec 28 04:52 2.txt
操作:
# ansible dbserver -m file -a "follow=yes group=‘ckl‘ mode=‘640‘ owner=‘ckl‘ path=/app/2.txt state=file force=yes" 172.16.110.49 | SUCCESS => { "changed": true, "gid": 1000, "group": "ckl", "mode": "0640", "owner": "ckl", "path": "/app/2.txt", "size": 17, "state": "file", "uid": 1000 }
查看文件:
# ll total 4 -rw-r----- 1 ckl ckl 17 Dec 28 04:52 2.txt
1.2.创建链接文件示例
查看源文件
# ll mf.txt -rw-r--r-- 1 root root 21 Dec 28 04:56 mf.txt
# ansible dbserver -m file -a "src=/data/mf.txt dest=/app/kk state=link"
172.16.110.49 | SUCCESS => {
"changed": true,
"dest": "/app/kk",
"gid": 0,
"group": "root",
"mode": "0777",
"owner": "root",
"size": 12,
"src": "/data/mf.txt",
"state": "link",
"uid": 0
}
# ll /app/ total 4 -rw-r----- 1 ckl ckl 17 Dec 28 04:52 2.txt lrwxrwxrwx 1 root root 12 Dec 28 05:06 kk -> /data/mf.txt
1.3.文件删除示例
# ansible dbserver -m file -a "path=/data/mf.txt force=yes state=absent" 172.16.110.49 | SUCCESS => { "changed": true, "path": "/data/mf.txt", "state": "absent" }
# ll /data/ total 0
时间: 2024-10-15 01:02:51