剧本不喜欢,

1.1 编写剧本规范:(PYyaml语法格式文件)

剧本中有层级划分

每个层级都要用两个空格进行区分

第一级标题

第二级标题

第三级标题

强调注意:一定使用ansible软件配置剧本时,就忘记键盘上有tab按键

属于冒号应用规则

冒号 等价于  shell中变量后面的 =

hosts:空格172.16.1.31

注释说明中的冒号不用空格,以冒号结尾的信息,不用加空格

短横线用法规则

一级标题

二级标题

-空格二级标题中重点信息

-空格二级标题中重点信息

剧本编写方式

01 多主机单任务编写方式

02 多主机多任务编写方式

rsync服务端主机

01. 进行yum安装

02. 编写配置文件

03. 创建用户

04. 创建备份目录并授权

05. 创建秘钥文件,并授权

06. 启动服务

rsync客户端主机

01. 进行yum安装

02. 创建秘钥文件,并授权

03 不同主机多任务编写方式

ansible-playbook --syntax-check /etc/ansible/ansible-playbook/test.yaml  语法检查方法

ansible-playbook -C /etc/ansible/ansible-playbook/test.yaml              进行模拟执行

作业:编写ansible剧本

01. 编写nfs一键化部署剧本

02. 编写实时同步服务一键化部署剧本

1.2   ansible剧本编写规则说明

pyYAML语法规则:

规则一:缩进

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

规则二:冒号

CMD="echo"

yaml:

mykey:

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

规则三:短横线

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

核心规则:有效的利用空格进行剧本的编写,剧本编写是不支持tab的

---

### 剧本的开头,可以不写

- hosts: all         <- 处理所有服务器,找到所有服务器;  -(空格)hosts:(空格)all

task:              <- 剧本所要干的事情;                (空格)(空格)task:

- command: echo hello oldboy linux.                  (空格)(空格)空格)(空格)-(空格)模块名称:(空格)模块中对应的功能

剧本编写内容扩展:剧本任务定义名称

- hosts: 172.16.1.7  <- 处理指定服务器                   -(空格)hosts:(空格)all

task:                <- 剧本所要干的事情;                (空格)(空格)task:

- name:

command: echo hello oldboy linux.                  (空格)(空格)空格)(空格)-(空格)模块名称:(空格)模块中对应的功能

剧本编写内容扩展:剧本任务编写定时任务

# ansible all -m cron -a "name='restart network' minute=00 hour=00 job='/usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'"

- hosts: all

tasks:

- name: restart-network

cron: name='restart network' minute=00 hour=00 job='/usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'

# ansible-playbook -C /etc/ansible/network-restart.yml  -vvvx

说明:测试剧本命令后面可以跟多个-v进行调试检查

剧本编写内容扩展:剧本任务编写多个任务

- hosts: all

tasks:

- name: restart-network

cron: name='restart network' minute=00 hour=00 job='/usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'

- name: sync time

cron: name='sync time' minute=*/5 job="/usr/sbin/ntpdate pool.ntp.com >/dev/null 2>&1"

剧本编写内容扩展:剧本任务编写多个主机

- hosts: 172.16.1.7

tasks:

- name: restart-network

cron: name='restart network' minute=00 hour=00 job='/usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'

- name: sync time

cron: name='sync time' minute=*/5 job="/usr/sbin/ntpdate pool.ntp.com >/dev/null 2>&1"

- hosts: 172.16.1.31

tasks:

- name: show ip addr to file

shell: echo $(hostname -i) >> /tmp/ip.txt

**************************************************************************************

扩展知识说明:vim编辑器使用说明

01:复制当前行到最后一行的内容,然后粘贴到最后一行的后面

:/172.16.1.31/,$copy$

:.,$copy$

**************************************************************************************

剧本--ansible的更多相关文章

  1. ansible批量管理软件部署及剧本

    服务器版本信息: Centos6.9 [root@db02 ~]# uname -a Linux db02 -.el6.x86_64 # SMP Tue Mar :: UTC x86_64 x86_6 ...

  2. Linux中ansible批量管理软件部署及剧本编写

    服务器版本信息: Centos6.9 [root@db02 ~]# uname -a Linux db02 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29: ...

  3. ansible 安装使用

    ansible ansible源码安装 yum -y install python-jinja2 PyPAML python-parmiko python-babel python-crypto ta ...

  4. ansible自动化运维

    ansible 系统架构 ansible简介 ansible是新出现的自动化运维工具,ansible是一个配置管理和应用部署工具,基于Python开发,集合了众多运维工具(puppet.cfengin ...

  5. ansible 工作原理以及使用详解

    内容:1.ansible的作用以及工作结构2.ansible的安装以及使用3.ansible的playbook使用 一.ansible的作用以及工作结构        1.ansible简介:     ...

  6. Ansible 自动化运维工具

    Ansible 自动化运维工具 Ansible是什么? Ansible是一个"配置管理工具"也是一个"自动化运维工具" Ansible 作用: Ansible是 ...

  7. 02 . Ansible高级用法(运维开发篇)

    自动化任务简介 假设我们要在10台linux服务器上安装一个nginx服务,手动是如何做的? # 第一步, ssh登录NUM(1,n)服务器 # 第二步,输入对应服务器密码 # 第三步,执行命令: y ...

  8. 一篇带你快速入门ansible和使用

    #基本概述 ansible是一款开源自动化工具,基于python paramiko模块开发,分布式,无需客户端 官网网址:https://www.ansible.com 官方文档:https://do ...

  9. Ansible 教程

    [注]本文译自:https://www.edureka.co/blog/ansible-tutorial/   在阅读本文之前,你应该已经知道,Ansible 构成了 DevOps 认证的关键部分,它 ...

随机推荐

  1. c++11: thread_local

    thread_local变量是C++ 11新引入的一种存储类型.它会影响变量的存储周期(Storage duration),C++中有4种存储周期: automatic static dynamic ...

  2. [patl2-011]玩转二叉树

    解题关键:数据结构课本上的裸题. #include<cstdio> #include<cstdlib> #include<cstring> #include< ...

  3. php get_include_path();是干嘛的、??还有set_include_path();/?????

    首先 我们来看这个全局变量:__FILE__ 它表示文件的完整路径(当然包括文件名在内) 也就是说它根据你文件所在的目录不同,有着不同的值:当然,当它用在包行文件中的时候,它的值是包含的路径: 然后: ...

  4. MyBatis01 MyBatis基础知识【搞清楚原理】

    1 MyBatis是什么 mybatis是一个持久层的框架,它对jdbc做了封装:是apache下的顶级项目 mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成 ...

  5. Easyui datebox单击文本框显示日期选择 eayui版本1.5.4.1

    Easyui默认是点击文本框后面的图标显示日期,体验很不好,所以我想单击文本框就显示日期选择框,网上很多版本是1.3,1.4的,于是自己就比葫芦画瓢改了一个1.5.4.1的版本. 我参考了网上这个帖子 ...

  6. 机器人自主移动的秘密,从SLAM技术说起(一)

    博客转载自:https://www.leiphone.com/news/201609/c35bn1M9kgVaCCef.html 雷锋网(公众号:雷锋网)按:本文作者SLAMTEC(思岚科技公号sla ...

  7. C语言-郝斌笔记-005菲波拉契序列

    菲波拉契序列 /* 菲波拉契序列 1 2 3 5 8 13 21 34 */ # include <stdio.h> int main(void) { int n; int f1, f2, ...

  8. 内核文件ntoskrnl.exe,ntkrnlpa.exe的区别??

    除了标题中说到的两个exe文件之外,还有另外两个ntkrnlmp.exe和ntkrpamp.exe.因为我目前用到的只是标题中的两个. 其中,我在网上搜索到的关于SSDT HOOK 的资料,举的例子, ...

  9. pentaho和spark-sql对接

    pentaho可以和hive做对接,所以和spark-sql做对接也是妥妥的.结果让人很失望了啊,我配置了很久都搞不定,最后脑袋突然灵机一动打通了. 1:替换pentaho自带的hive驱动. 路径 ...

  10. 非阻塞socket与epoll

    阻塞socket. –阻塞调用是指调用结果返回之前,当前线程会被挂起.函数只有在得到结果之后才会返回. –对于文件操作read,fread函数调用会将线程阻塞. –对于socket,accept与re ...