河北做网站的公司,wordpress php.ini在哪,网站模板有哪些,制作商城网站模板笔者#xff1a; 把以前的手写笔记电子化吧#xff0c;顺便当作复习。 基础命令 命令 参数 备注 ansible --version 查看版本号 ansible-doc --help 查看帮助信息 -l #xff5c;--list 查看所有模块 -s 查看模块摘要 Ansible servers -I #xff5c;-…笔者 把以前的手写笔记电子化吧顺便当作复习。 基础命令 命令 参数 备注 ansible --version 查看版本号 ansible-doc --help 查看帮助信息 -l --list 查看所有模块 -s 查看模块摘要 Ansible servers -I --list 指定主机文件配置 -a 指定模块所需要的参数 -m 指定模块 Ansible-inventory 用于管理主机配置文件 -i 指定文件配置 --list 以默认的json格式列出所有主机 --graph 以图形界面输出主机清单
主机清单文件
默认配置文件位于/etc/ansible/hosts [servers] #定义一个主机组 192.168.1.1 #ip node01 #主机名 192.168.1.2:23333 #23333为ssh的默认端口 node02:23333 192.168.2.[100:200] #ip 范围 mst[10:20] #主机名范围 192.168.3.[100:200]:23333 #IP范围内的所有主机默认ssh口 23333 [t1] 169.254.1.1 http_port808 # ~~~~~~~~~~~~~~ # 主机内的变量名变量值 [uat] node01 node02 [uat:vars] ntp-serverntp1.aliyun.com # uat组内公用同一个变量 [test] controlplane envprod node01 envdev playbook.yaml基本格式 - name: helloworld #playbook名称 hosts: test vars: gather_facts: True #收集远程主机facts信息 become: False #是否切换用户 tasks: - name: helloworld {{ ansible_date_time.iso8601_basic_short }} copy: src: /var/tmp/hello.tar.gz dest: /opt/h.tar.gz - name: Create the prod_engineer user user: name: prod_engineer comment: Prod engineer when: prod in env #只有在主机变量满足时才执行 - name: Create the dev_engineer user and give admin user: name: dev_engineer comment: Dev engineer groups: admin generate_ssh_key: yes ssh_key_bits: 2048 ssh_key_file: .ssh/id_rsa when: dev in env - name: get shell result and set a variable shell: uptime22 failed_when: false #执行失败时不执行后续的任务 register: uptime_r #将运行结果赋值给变量uptime_r - name: ping #上一个任务失败 本任务不执行 shell: ping baidu.com jinja2 file run_once: yes # 参数表示只运行一次 delegate_to: localhost # 任务只在ansible本机运行 for循环
{% for host in ansible_play_hosts_all %}
{{ host }} #打印变量
{% endfor %}
if判断
{% if day in hostvars[host].uptime.stdout %} {{ hostvars[host].ansible_hostname }} - has not rebooted today{% endif %} 模块清单
忘记了就看ansible-doc -s [模块名] 模块 参数 用途 uri 用于测试到某站点到联通性并返回结果 url 需要测试的地址 return_content 是否返回结果yes Dest 下载的文件放在指定的路径 debug 用于答应执行过程中的消息/变量 msg 基础消息 Var 变量 register中定义的或者 fasts收到的变量名 {{ ansible_date_time }} group_by 根据facts gather_facts中获得中的某个字段进行分组 key 某个指定的字段 parents 可选父级所属组 lineinfile 管理txt中的行数据 path 指定的文件 Regex 使用正则选取指定的行 ^var’ Line 替换指定的值 unarchive 用于文件解压 src 指定压缩包 dest 解压的绝对路径 archive 用于文件压缩 dest 生成的压缩包路径 path 要压缩的文件路径或者列表 绝对路径 Template 使用j2模版文件并将特定文件传送到远程目录 src j2模版文件文件中可以加入变量 dest 目的路径 setup 查看远程主机信息 Filter 查看指定的变量eg: ansible_date_time shell 执行shell脚本命令用分号; 隔开 ping 测试到主机的联通性 copy 用于文件复制 src 源路径 dest 目的路径 checksum 检查文件的一致性sha1 file 管理文件文件属性可以创建文件夹调整文件权限等 path 必须 指定路径 state touch 创建空文件若已存在不处理 directory 创建目录若已存在不处理 file 确保文件存在并具有指定属性 link 创建连接符号 src指定源路径 hard 创建应连接 src指定源路径 absent 删除文件或目录 src 指定源路径搭配其他参数使用 owner 指定文件所有者 group 指定用户组