ansible-copy
ansible是执行yaml文件控制远端服务器。
执行命令为 ansible-playbook my.yaml
playbook是ansible中的脚本,采用yaml语言。
VM1安装ansible,ip地址为172.125.1.20
VM2为一个新创建的虚拟机,ip地址为172.125.1.30.
VM1可以无密码ssh+root登录到VM2.
任务:将VM1安装的epel.repo文件copy到VM2中。
1)源文件设置
创建目录ansible-test(名称根据自己的需求修改)
cd ansible-test
创建目录files(固定名称)
copy /etc/yum.repos.d/epel.repo files/
2)增加VM2到hosts中
vi /etc/ansible/hosts
添加[VM2]
在【VM2】下面增加VM2 ip:172.125.1.30
3)编辑yaml文件:
- name: copy epel files toVM2
hosts: VM2
tasks:
- name: copy files
copy: src=epel.repo dest=/etc/yum.repos.d owner=root group=root mode=0644
运行:
ansible-playbook copyepel.yaml
[root@localhost ansible_test]# ansible-playbook copyepel_v1.yaml
PLAY [copy epel files to /var/tmp] *********************************************
TASK [setup] *******************************************************************
ok: [172.125.1.30]
TASK [copy files] **************************************************************
changed: [172.125.1.30]
PLAY RECAP *********************************************************************
172.125.1.30 : ok=2 changed=1 unreachable=0 failed=0
登录到VM2
cd /etc/yum.repos.d
epel.repo已经存在该目录下。说明ansible运行成功。
下一个文章中我们探讨一下template的使用