ansible-playbook使用實例---copy

change.yml
- hosts: gameservers #要操作的主機組,在ansible的hosts文件中定義(默認安裝位置/etc/ansible/hosts)
serial: 20 #開啟的並發數
remote_user: root #進行操作的用戶
tasks: #要進行的操作- name: fenfa #任務名稱,自定義
copy: #使用復制模塊,進行文件分發,從本地主機分發到遠程主機
src: ‘{{ item.src }}’ #源文件,我這里有多個源文件,所有采用了定義變量的方法,可參考ansible循環內容http://www.ansible.com.cn/docs/playbooks_loops.html#standard-loops
dest: /usr/local/zabbix/scripts/ #文件復制的目標目錄
owner: zabbix
group: zabbix
mode: 0700
with_items:- { src: ‘/home/ma/change_agent.sh’ } #源文件
- { src: ‘/home/ma/check_diskio.sh’ }
- { src: ‘/home/ma/get_diskname.sh’ }
- { src: ‘/home/ma/get_linecpu.sh’ }
- { src: ‘/home/ma/mysql_statu.sh’ }
- name: backup #使用command模塊,復制備份遠程主機上的文件
command: cp -a /usr/local/zabbix/etc/zabbix_agentd.conf /usr/local/zabbix/etc/zabbix_agentd.conf.bak - name: doshell #執行分發到目標主機的shell腳本
shell: /bin/bash /usr/local/zabbix/scripts/change_agent.sh - name: restart #用command模塊進行服務重啟
command: service zabbix_agentd restart
- name: fenfa #任務名稱,自定義
執行playbook
ansible-playbook -C change.yml
-C 預執行,可以看到執行后會有什么變化,但不會再遠程主機上實際執行這些操作
實際執行:
ansible-playbook change.yml