2019-04-25课堂笔记

作者:黄胜

PLAYBOOK剧本管理

介绍:把所有操作按照ansible编程语法,放在文件里执行就是playbook。

ansible剧本编写格式说明

ansible剧本遵循PYyaml语法规则进行编写,yaml文件基本编写规则如下说明:

规则一:缩进

yaml使用一个固定的缩进风格表示数据层结构关系,需要每个缩进级别由两个空格组成。切记一定不能使用tab键进行缩进。

规则二:冒号

每个冒号后面一定要有一个空格(以冒号结尾不需要空格,表示文件路径的模版可以不需要空格)

规则三:短横线

想要表示列表项,使用一个短横杠加一个空格。多个项使用同样的缩进级别作为同一个列表的一部分

剧本测试:root@m01 /etc/ansible/yaml]# ansible-playbook -C /etc/ansible/yaml/p1.yml

说明:利用ansibl-playbook命令执行剧本,-C参数表示测试剧本任务执行,类似话剧的彩排一样。

例:ansible命令和playbook内容对照:

ansible oldboy -m systemd -a "name=crond.service enabled=no state=stopped "

ansible oldboy -m command -a "systemctl status crond"

ansible oldboy -m systemd -a "name=crond.service enabled=yes state=started"

编写剧本:

[root@m01 ~]# cat /etc/ansible/yaml/p6.yml

- hosts: backup

  tasks:

    - name: copy rsyncd.conf

      copy: src=/data/rsyncd.conf.template dest=/etc/rsyncd.conf mode=0600 backup=yes

    - name: create rsync.password

      copy: content='rsync_backup:oldboy' dest=/etc/rsync.password mode=0600

    - name: create user 用user模块 替代

      command: useradd rsync -s /sbin/nologin -M

    - name: create dir 用file模块替代

      command: mkdir -p /backup

    - name: shouquan 用file模块替代

      command: chown -R rsync.rsync /backup/

    - name:  startup rsyncd

      systemd: name='rsyncd.service' state=restarted enabled=yes

  执行三部曲:

ansible-playbook --syntax-check /etc/ansible/yaml/p6.yml

ansible-playbook -C /etc/ansible/yaml/p6.yml

ansible-playbook  /etc/ansible/yaml/p6.yml

你可能感兴趣的:(2019-04-25课堂笔记)