将文件复制到远程主机,同时支持给定内容生成文件和修改权限
[常用命令]
[src] #被复制到远程主机的本地文件。可以是绝对路径,也可以是相对路径。如果路径是一个目录,则会递归复制,用法类似于"rsync"
[dest] #必选项,将源文件复制到的远程主机的绝对路径
ansible [主机组|ip] -m copy -a 'src=/路径 dest=/绝对路径'
[eg] ansible web -m copy -a 'src=~/hello dest=/data/hello'
#将ansible主机源文件路径拷贝到远端主机组那个路径下
#远端那个路径下有目录则拷贝到这个目录下面
#远端那个路径下没有那目录则拷贝到那个路径下面
[content] #用于替换"src",可以直接指定文件的值
ansible [主机组|ip] -m copy -a 'content="想给文件加入的内容\n" dest=/绝对路径 mode=666'
[eg]ansible web -m copy -a 'content="I am keer\n" dest=/data/name mode=666'
#将你想给文件加入的内容直接写入[主机组|IP]那个文件并修改权限
[backup]#当文件内容发生改变后,在覆盖之前把源文件备份,备份文件包含时间信息
ansible [主机组|ip] -m copy -a 'content="想给文件加入的内容\n" backup=yes dest=/data/name mode=666'
#将想给文件加入的内容这句话写入主机组那个文件并修改权限为666 并将主机组那个文件的源文件备份
[eg]ansible web -m copy -a 'content="I am keerya\n" backup=yes dest=/data/name mode=666'
[directory_mode] #递归设定目录以及下面的子目录的权限,不针对文件,默认为系统默认权限
[force] #当目标主机包含该文件,但内容不同时,设为"yes",表示强制覆盖;设为"no",表示目标主机的目标位置不存在该文件才复制。默认为"yes"
[others] #所有的 file 模块中的选项可以在这里使用
file模块
file模块:用于设置文件的属性,比如创建文件、创建链接文件、删除文件等
force #需要在两种情况下强制创建软链接,一种是源文件不存在,但之后会建立的情况下;另一种是目标软链接已存在,需要先取消之前的软链,然后创建新的软链,有两个选项:yes|no
group #定义文件/目录的属组。后面可以加上
mode:定义文件/目录的权限
owner: #定义文件/目录的属主。后面必须跟上
path:定义文件/目录的路径
recurs