hq8501 发表于 2018-7-30 12:05:08

ansible批量分发文件含自动备份原文件

  目前公司网站前台有16台,每次想更新个文件,手动更新真的很让人抓狂。现在就借助ansible的copy模块轻松实现批量分发,并自动备份,效果还不错,拿来分享给大家。
  1.前提要安装好ansible且要与前台16台服务器,做好ssh信任,并归类到一组如v2_51auto_www。
  # cat /etc/ansible/hosts
  
  172.31.2.68 ansible_ssh_port=22
  172.31.2.69 ansible_ssh_port=22
  172.31.2.70 ansible_ssh_port=22
  172.31.2.71 ansible_ssh_port=22
  172.31.2.72 ansible_ssh_port=22
  172.16.1.20
  172.16.1.21
  172.16.1.22
  172.16.1.23
  172.16.1.24
  
  172.16.1.11
  172.16.1.12
  172.16.1.13
  172.16.1.14
  172.16.1.19
  172.16.1.34
  2.把要更新的文件上传到ansible服务器,我的目录是/home/maser/upload
  $ pwd
  /home/master/upload
  $ ls
  list.jspParamUtils.classTempUtil.class
  3.ansible命令分发
  $ ansible v2_51auto_www -s -m copy -a 'src=/home/master/upload/list.jsp dest=/opt/websuite/resin/data/webapps/ROOT/views/car/promotion owner=websuite group=websuite backup=yes'
  4.验证效果
  # ifconfig
  eth0      Link encap:EthernetHWaddr AE:FC:BB:33:18:41
  inet addr:172.16.1.11Bcast:172.16.1.255Mask:255.255.255.0
  UP BROADCAST RUNNING MULTICASTMTU:1500Metric:1
  RX packets:54593130 errors:0 dropped:0 overruns:0 frame:0
  TX packets:42947200 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000
  RX bytes:141150153477 (131.4 GiB)TX bytes:114151578105 (106.3 GiB)
  lo      Link encap:Local Loopback
  inet addr:127.0.0.1Mask:255.0.0.0
  UP LOOPBACK RUNNINGMTU:16436Metric:1
  RX packets:13401 errors:0 dropped:0 overruns:0 frame:0
  TX packets:13401 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:0
  RX bytes:826668 (807.2 KiB)TX bytes:826668 (807.2 KiB)
  # pwd
  /opt/websuite/resin/data/webapps/ROOT/views/car/promotion
  # ll
  总用量 112
  -rw-r--r-- 1 websuite websuite 22203 5月13 14:27 activity.jsp
  -rw-r--r-- 1 websuite websuite 42599 5月20 17:34 list.jsp
  -rw-r--r-- 1 root   root   42598 5月19 17:25 list.jsp.2015-05-20@17:34:12~
页: [1]
查看完整版本: ansible批量分发文件含自动备份原文件