ansile(2)模块之copy

ansible copy模块用来文件复制,说明如下:

参数名 选项 必须 参数说明
backup yes/no no 备份远程节点上的原始文件,在拷贝之前。如果发生什么意外,原始文件还能使用。
content yes/no no 用来替代src,用于将指定文件的内容,拷贝到远程文件内
dest  yes/no yes 用于定位远程节点上的文件,需要绝对路径。如果src指向的是文件夹,这个参数也必须是指向文件夹
directory_mode  yes/no no 这个参数只能用于拷贝文件夹时候,这个设定后,文件夹内新建的文件会被拷贝。而老旧的不会被拷贝
follow yes/no no 当拷贝的文件夹内有link存在的时候,那么拷贝过去的也会有link
group yes/no no 指明文件属组
mode  yes/no no 指明文件的权限
owner  yes/no no 指明文件的属主
src yes/no no 文件源地址路径

1.1.默认参数的copy

# cat ckl.txt 
test ansible copy hahaha
# ansible dbserver -m copy -a "src=/root/ckl.txt dest=/tmp"   
172.16.110.49 | SUCCESS => {
    "changed": true, 
    "checksum": "59e20a4c2f703fda1093edf341529fe15605de1a", 
    "dest": "/tmp/ckl.txt", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "fad3a2bf27ada6056e6fdad913a88f0f", 
    "mode": "0644", 
    "owner": "root", 
    "size": 25, 
    "src": "/root/.ansible/tmp/ansible-tmp-1482912542.33-134291331324238/source", 
    "state": "file", 
    "uid": 0
}

查看远端结果:

# ansible dbserver -a "cat /tmp/ckl.txt"
172.16.110.49 | SUCCESS | rc=0 >>
test ansible copy hahaha

1.2.参数backup

# ansible dbserver -m copy -a "src=/root/ckl.txt dest=/root backup=yes"
172.16.110.49 | SUCCESS => {
    "changed": true, 
    "checksum": "59e20a4c2f703fda1093edf341529fe15605de1a", 
    "dest": "/root/ckl.txt", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "fad3a2bf27ada6056e6fdad913a88f0f", 
    "mode": "0644", 
    "owner": "root", 
    "size": 25, 
    "src": "/root/.ansible/tmp/ansible-tmp-1482912889.69-220399140870876/source", 
    "state": "file", 
    "uid": 0
}

1.3.参数content

# ansible dbserver -m copy -a "content=‘we are from....‘ dest=/tmp/kk.txt"
172.16.110.49 | SUCCESS => {
    "changed": true, 
    "checksum": "23f76aac2040c30a7bdaf4b899a133e5fafe4580", 
    "dest": "/tmp/kk.txt", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "087a2fb23f1cc9c978eb6e6d4107e7ab", 
    "mode": "0644", 
    "owner": "root", 
    "size": 15, 
    "src": "/root/.ansible/tmp/ansible-tmp-1482914368.54-47626273459925/source", 
    "state": "file", 
    "uid": 0
}
# ansible dbserver -a "cat /tmp/kk.txt"
172.16.110.49 | SUCCESS | rc=0 >>
we are from....

1.4.参数follow,owner,group,mode

源文件:

# ll /root/ckl
total 4
lrwxrwxrwx 1 root root  8 Dec 28 03:42 f1 -> /data/fm
-rw-r--r-- 1 root root 12 Dec 28 03:49 md.txt

执行复制:

# ansible dbserver -m copy -a "src=/root/ckl/ dest=/tmp/sk owner=‘ckl‘ group=‘ckl‘ mode=640 follow=yes"
172.16.110.49 | SUCCESS => {
    "changed": true, 
    "dest": "/tmp/sk/", 
    "src": "/root/ckl"
}

查看文件(follow加不加好像没区别):

# ll sk/
total 0
-rw-r--r-- 1 root root 0 Dec 28 03:45 f1
-rw-r--r-- 1 root root 0 Dec 28 03:45 md.txt
时间: 2025-01-02 16:56:24

ansile(2)模块之copy的相关文章

ansile(2)模块之file

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

模块讲解----shutil模块(copy、压缩、解压)

作用与功能 主要用于文件的copy,压缩,解压 导入shuitl模块: import shutil copy方法 1 1.shutil.copyfileobj()  打开file1,并copy写入file2: 2 with open("笔记1",'r',encoding='utf-8') as f1,open('笔记2','w',encoding='utf-8') as f2: 3    shutil.copyfileobj(f1,f2) 4 5 6 7 #输入文件名就能直接拷贝(调用

ansible 模块之 copy模块详解

ansible copy 模块详解 ansible copy 模块主要用于文件或目录复制.详细如下: src ansible 端源文件或目录,空文件夹不复制 content 用来替代src 用于将指定的文件内容复制到远程文件 dest 客户端目标目录或文件,需要绝对路径 back_up 复制之前备份远程节点上的原始文件 directory_code 用于复制文件夹,新建文件会被复制,旧文件不会被复制 follow 支持link文件复制 force 覆盖远程主机不一致的内容 group 设定远程主

ansile(2)模块之get_url

ansible  get_url将文件从HTTP,HTTPS或FTP下载到节点 参数 是否必须 默认 选项 说明 attributes no None yes no 文件或目录的属性应该是.要获得支持的标志,请查看taget系统上chattr的手册页. backup no no 创建一个包括时间戳信息的备份文件,这样你可以得到原始文件,如果你不正确地弄错了. checksum no 如果将校验和传递给此参数,则将在下载目标文件的摘要后计算摘要,以确保其完整性,并验证传输是否成功完成.格式:<al

ansile(2)模块之iptable

ansible iptables 模块说明 Iptables用于设置,维护和检查Linux内核中的IP包过滤规则的表.此模块不处理保存和/或加载规则,而是仅处理存在于内存中的当前规则.这与该模块在内部使用的"iptables"和"ip6tables"命令的行为相同. 以列表参数均来自官网,如果有出入,请参考官方文档 参数 是否必需 默认 选项 说明 action no append append insert 规则是应附加在底部还是插入在顶部.如果规则已经存在,则不

ansile(2)模块之service

ansible service模块 参数选项来自官网,如果有出入,以官网为主 参数 是否必须 默认 选项 说明 arguments no 命令行参数 enabled no yes no 设置服务是否开机启动 name yes 服务名称 pattern no 定义一个模式,如果通过status指令来查看服务的状态时,没有响应,就会通过ps指令在进程中根据该模式进行查找,如果匹配到,则认为该服务依然在运行 runlevel no default 服务运行级别 sleep no 设置start和sto

ansile(2)模块之script

ansible script模块用来为远端目标主机运行管理机(本地)的脚本 参数 是否必须 默认 选项 说明 creates no 当文件存在,这步不运行 free_form yes 运行参数 removes no 当文件不存在时,这步不允许 运行脚本示例 # cat ckl.sh  #!/bin/bash ps -ef | grep httpd | grep -v grep date echo "*******************" # ansible webserver -m 

ansile(2)模块之cron

ansible cron 模块就是计划任务,很简单 backup:操作之前先备份目标主机上的原计划任务 cron_file:如果指定该选项,则用该文件替换远程主机上的cron.d目录下的用户的任务计划 day: 指定日(1-31,*,*/1,--) hour:指定小时(0-23,*,*/2,--) minute:指定分钟(0-59,*,*/3,--) month:指定月(1-12,*,*/4,--) weekday:指定周(0-7,*,--) job:要执行的任务,依赖于state=presen

ansile(2)模块之group

ansible group模块与系统命令使用相似 参数 是否必要 默认 选项 说明 gid no 选择需要设置的GID name yes 需要配置的组名 state no present present absent 添加或删除组 system no no yes no yes时添加的是系统组 添加组 # ansible dbserver -m group -a "name=zld state=present" 172.16.110.49 | SUCCESS => {     &