设为首页 收藏本站
查看: 808|回复: 0

[经验分享] ansible之synchronize模块

[复制链接]

尚未签到

发表于 2018-7-29 06:12:31 | 显示全部楼层 |阅读模式
  例:将主控方/root/test.yml 目录推送到指定节点的/tmp 目录下
  

[root@master ~]# ansible all -m synchronize -a 'src=/tmp/test dest=/data/soft/ compress=yes'  

  
root@master.test.com's password: client02 | SUCCESS => {
  "changed": true,
  "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"/tmp/test\" \"client02:/data/soft/\"",
  "msg": "<f+++++++++ test\n",
  "rc": 0,
  "stdout_lines": [
  "<f+++++++++ test"
  ]
  
}
  
client01 | SUCCESS => {
  "changed": true,
  "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"/tmp/test\" \"client01:/data/soft/\"",
  "msg": "<f+++++++++ test\n",
  "rc": 0,
  "stdout_lines": [
  "<f+++++++++ test"
  ]
  
}
  

  root@master.test.com's password: 111111此处输入密码原因是master自身没有做ssh免秘钥处理
  master.test.com | SUCCESS => {
  &quot;changed&quot;: true,
  &quot;cmd&quot;: &quot;/usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \&quot;/tmp/test\&quot; \&quot;master.test.com:/data/soft/\&quot;&quot;,
  &quot;msg&quot;: &quot;<f+++++++++ test\n&quot;,
  &quot;rc&quot;: 0,
  &quot;stdout_lines&quot;: [
  &quot;<f+++++++++ test&quot;
  ]
  }
  [root@client02 ~]# ll /data/soft/test
  -rw-r--r-- 1 root root 4 Jul 30  2016 /data/soft/test
  }
  [root@master tmp]# ll /data/soft/test
  -rw-r--r-- 1 root root 4 Jul 30 23:31 /data/soft/test
  执行效果:
  delete=yes 使两边的内容一样(即以推送方为主)
  compress=yes 开启压缩,默认为开启
  --exclude=.git 忽略同步.git 结尾的文件
  由于模块,默认都是推送push。因此,如果你在使用拉取pull 功能的时候,可以参考如下来实现mode=pull 更改推送模式为拉取模式
  例:将client01 节点的/root/stu01 目录拉取到主控节点的/data/soft 目录下
  

[root@master tmp]# ansible client01 -m synchronize -a 'mode=pull  src=/root/stu01 dest=/data/soft/ compress=yes'  
client01 | SUCCESS => {
  "changed": true,
  "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"client01:/root/stu01\" \"/data/soft/\"",
  "msg": ">f+++++++++ stu01\n",
  "rc": 0,
  "stdout_lines": [
  ">f+++++++++ stu01"
  ]
  
}
  
[root@master tmp]# cat /data/soft/stu01
  
213
  

  参数解释
  dest_port=22 指定目的主机的端口,ansible 配置文件中的
  ansible_ssh_port 变量优先级高于该dest_port
  变量
  rsync_path 指定rsync 命令来在远程服务器上运行。这个参
  考rsync 命令的--rsync-path 参数,
  --rsync-path=PATH 指定远程服务器上的rsync 命令所在路径信息
  rsync_timeout 指定rsync 操作的IP 超时时间,和rsync 命令
  的--timeout 参数效果一样

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-542697-1-1.html 上篇帖子: ansible之get_url模块 下篇帖子: ansible 中shell 模块和command 模块的区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表