• ansible(三)


    setup

    ansible_all_ipv4_addresses # ipv4的所有地址
    ansible_all_ipv6_addresses # ipv6的所有地址
    ansible_date_time # 获取到控制节点时间
    ansible_default_ipv4 # 默认的ipv4地址
    ansible_distribution # 系统
    ansible_distribution_major_version # 系统的大版本
    ansible_distribution_version # 系统的版本号
    ansible_domain #系统所在的域
    ansible_env #系统的环境变量
    ansible_hostname #系统的主机名
    ansible_fqdn #系统的全名
    ansible_machine #系统的架构
    ansible_memory_mb #系统的内存信息
    ansible_os_family # 系统的家族
    ansible_pkg_mgr # 系统的包管理工具
    ansible_processor_cores #系统的cpu的核数(每颗)
    ansible_processor_count #系统cpu的颗数
    ansible_processor_vcpus #系统cpu的总个数=cpu的颗数*CPU的核数
    ansible_python # 系统上的python
    配置参数
    ansible cache -m setup -a 'filter=*processor*' # 用来搜索
    回顾正则
    * 匹配数量,表示0或者多次
    
    ? 匹配数量,表示0或者1次
    
    +匹配数量,表示1次或更多
    
    .除换行符意外一的所有字符
    
    [132abc] 匹配内容
    
    ()分组
    
    {m} 次数,出现m次
    
    {m,} 至少m次
    
    {m,n}出现m-n次

     条件判断

     适用于:不同的系统,不同的版本,不同的环境,不同的用户

    - hosts: db
      remote_user: root
      tasks:
      - name: createfile
        copy: content="大弦嘈嘈如急雨" dest=/tmp/a.txt
        when: a=="3"
      - name: cratefile
        copy: content="小弦切切如私语" dest=/tmp/a.txt
        when: a=="4"

    ****Ubuntu 安装包的方式apt-get

    tags

    - hosts: web
      tasks:
      - name: installnginx
        yum: name=nginx
      - name: copyfile
        copy: src=/etc/nginx/nginx.conf dest=/etc/nginx/nginx.conf
        tags: copyfile
      - name: start
        service: name=nginx state=started
    ansible-playbook -t copyfile p7.yml 

    循环with_items

      一次性创建多个

    - hosts: web
      tasks:
      - name: crateuser
        user: name={{item}}
        with_items:
        - ming20
        - ming21
        - ming22
    - hosts: web
      tasks:
      - name: crateuser
        user: name={{item}}
        with_items:
        - ming30
        - ming31
        - ming32
      - name: crategroup
        group: name={{item}}
        with_items:
        - wulaoshi20
        - wulaoshi21
        - wulaoshi22

    嵌套循环

    - hosts: web
      tasks:
      - name: crategroup
        group: name={{item}}
        with_items:
        - wulaoshi30
        - wulaoshi31
        - wulaoshi32
      - name: createuser
        user: name={{item.name}} group={{item.group}}
        with_items:
        - {'name':alex40,'group':wulaoshi30}
        - {'name':alex41,'group':wulaoshi31}
        - {'name':alex42,'group':wulaoshi32}

    template

      jinja2

    - hosts: web
      tasks:
      - name: installredis
        yum: name=redis
      - name: copyfile
        template: src=/etc/redis.conf dest=/etc/redis.conf
      - name: start
        service: name=redis state=started
    
      配置文件: bind {{ ansible_default_ipv4.address }} 

      copy和template的区别:copy模块不替代参数,template模块替代参数

    - hosts: web
      tasks:
      - name: installredis
        yum: name=redis
      - name: copyfile
        template: src=redis.conf dest=/etc/redis.conf
      - name: start
        service: name=redis state=started
    
    ps:写相对路径:在当前目录下新建一个templates目录,然后把文件放在里面

    handlers

    修改配置文件

    - hosts: web
      tasks:
      - name: installredis
        yum: name=redis
      - name: copyfile
        template: src=redis.conf dest=/etc/redis.conf
        tags: copyfile
        notify: restart
      - name: start
        service: name=redis state=started
      handlers:
      - name: restart
        service: name=redis state=restarted

    roles

    roles文件夹
    
    文件夹里面是要创建的每一个角色,每一个角色一个文件夹
    
    每一个角色里面都有tasks(必须的),templates,files,handlers,vars目录
    
    每个目录都要有main.yml文件,通过import_tasks来调用
    
    其中templates文件夹中的文件可以通过相对路径来调用
    yum installl -y ntp  同步时间
    
    ll /etc/localtime  检查本地的时间是哪里的时间
    
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 更改本地时间为上海时间
    
    
    
    uwsgi --http :8000 --module mysite.wsgi uwsgi启动django项目
    View Code
  • 相关阅读:
    C++下遍历文件夹
    pycharm入门的简易使用教程
    easyUI—— datagrid 日期比较天数,小时
    Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天
    js获取一个月份最大天数和获取月的最后一天
    根据样式往里添加动态数据
    在同一个数据库表中添加不同的数据(笛卡尔积)
    修改某个数据可属性值根据三层 BLL
    根据条件删除
    xmlHttp.status的值(HTTP状态表)
  • 原文地址:https://www.cnblogs.com/qq849784670/p/10418741.html
Copyright © 2020-2023  润新知