跳到主要内容

ansible模块-文件模块

ansible查看帮助方法

# 查看所有模块帮助信息
ansible-doc -l

# 指定查看某个模块参数用法
ansible-doc copy

1.copy拷贝文件模块

1.1 拷贝文件

# 将ansible本机/etc/hosts文件拷贝到目标机/tmp下并命名为test.txt
ansible all -m copy -a "src=/etc/hosts dest=/tmp/test.txt"

1.2 拷贝文件并备份

ansible all -m copy -a "src=/etc/hosts dest=/tmp/test.txt backup=yes"
提示

只有当ansible本地文件内容变化之后,受控机本地才会有备份文件

$ ls
test.txt test.txt.8600.2021-07-01@21:10:49~

1.3 直接被控端文件内容

# 直接向远端文件内写入数据信息,并且会覆盖远端文件内原有数据信息,文件不存在会自动创建
ansible all -m copy -a "content='abc' dest=/tmp/abc mode=777"

copy模块参数

参数说明
src源文件路径
dest目标路径
backup对传输过去的文件进行备份
content直接批量在被管理端文件中添加内容
group将本地文件推送到远端,指定文件属组信息
owner将本地文件推送到远端,指定文件属主信息
mode将本地文件推送到远端,指定文件权限信息

2.file文件配置模块

2.1 创建文件

# path中的远端路径必须存在
ansible all -m file -a "path=/tmp/tt state=touch mode=555 owner=root group=root"

2.2 创建目录

ansible all -m file -a "path=/tmp/abc state=directory"

2.3 创建软连接

ansible all -m file -a "src=/tmp/tt path=/tmp/tt_link state=link"

file模块参数

参数说明
path指定远程主机目录或文件信息
recurse递归授权
statedirectory:在远端创建目录
touch:在远端创建文件
link:link或hard表示创建链接文件
absent:表示删除文件或目录
mode:设置文件或目录权限
owner:设置文件或目录属主信息
group:设置文件或目录属组信息