本文共 2694 字,大约阅读时间需要 8 分钟。
剧本的编写方法
剧本的作用: 可以一键化完成多个任务 自动化部署rsync服务: 服务端的操作 第一个历程安装软件: ansible 172.16.1.41 -m yum -a "name=rsync state=installed" 第二个历程编写文件: ansible 172.16.1.41 -m copy -a "src=/xxx/rsyncd.conf dest=/etc/" 第三个历程创建用户 ansible 172.16.1.41 -m user -a "name=rsync create_home=no shell=/sbin/nologin" 第四个历程创建目录 ansible 172.16.1.41 -m file -a "dest=/backup state=directory owner=rsync group=rsync" 第五个历程创建密码文件 ansible 172.16.1.41 -m copy -a "content='rsync_backup:test123' dest=/etc/rsync.password mode=600" 第六个历程启动服务 ansible 172.16.1.41 -m service -a "name=rsyncd state=started enabled=yes" 客户端的操作: 第一个历程: 创建密码文件 ansible 客户端地址 -m copy -a "content='rsync_backup:test123' dest=/etc/rsync.password mode=600" 剧本的做成部分: 演员信息: hosts 干的事情: tasks 演员信息: 男二号 干的事情: 看着 剧本编写规范: pyyaml -- 三点要求 1. 合理的信息缩进 两个空格表示一个缩进关系 标题一 标题二 标题三 PS: 在ansible中一定不能用tab进行缩进 2. 冒号的使用方法 hosts: 172.16.1.41 tasks: yum: name=xx PS: 使用冒号时后面要有空格信息 以冒号结尾,冒号信息出现在注释说明中,后面不需要加上空格 3. 短横线应用 -(列表功能) - 张三 男 - 打游戏 - 运动 - 李四 女 学习 湖南 - 王五 男 运动 深圳 PS: 使用短横线构成列表信息,短横线后面需要有空格 开始编写剧本 mkdir /etc/ansible/ansible-playbook vim rsync_server.ymal 说明: 剧本文件扩展名尽量写为yaml 1. 方便识别文件是一个剧本文件 2. 文件编写时会有颜色提示 - hosts: 172.16.1.41 tasks: yum: name=rsync state=installed copy: src=/tmp/rsyncd.conf dest=/etc/ 如何执行剧本: 第一个步骤: 检查剧本的语法格式 ansible-playbook --syntax-check rsync_server.yaml 第二个步骤: 模拟执行剧本 ansible-playbook -C rsync_server.yaml 第三个步骤: 直接执行剧本 ansible-playbook rsync_server.yaml注:默认执行剧本的时候调用的主机清单是/etc/ansible/hosts文件,也可以指定识别主机清单,可以在主机清单中编写该服务的指定服务器
ansible-playbook -i /etc/ansible/hosts_sersync rsync_server.yaml
完整剧本
cat rsync_server.yaml- hosts: rsync_server tasks: - name: 01-install rsync yum: name=rsync state=installed - name: 02-push conf file copy: src=/etc/ansible/server_file/rsync_server/rsyncd.conf dest=/etc/ - name: 03-create user user: name=rsync create_home=no shell=/sbin/nologin #shell: useradd rsync -M -s /sbin/nologin - name: 04-create backup dir file: path=/backup state=directory owner=rsync group=rsync - name: 05-create password file copy: content=rsync_backup:oldboy123 dest=/etc/rsync.password mode=600 - name: 06-start rsync server service: name=rsyncd state=started enabled=yes- hosts: rsync_clients tasks: - name: 01-install rsync yum: name=rsync state=installed - name: 02-create password file copy: content=oldboy123 dest=/etc/rsync.password mode=600 - name: 03-create test file file: dest=/tmp/test.txt state=touch - name: 04-check test shell: rsync -avz /tmp/test.txt rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
剧本编写常见错误:
01. 剧本语法规范是否符合(空格 冒号 短横线) 02. 剧本中模块使用是否正确 03. 剧本中一个name标识下面只能写一个模块任务信息 04. 剧本中尽量不要大量使用shell模块转载地址:http://chepb.baihongyu.com/