ansible 备忘清单(一)

news2024/11/18 21:49:53

笔者:
    把以前的手写笔记电子化吧,顺便当作复习。

 基础命令

命令

参数

备注

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_port=808      

                         #  ~~~~~~~~~~~~~~

                          #   主机内的变量名=变量值

[uat]

node01

node02

[uat:vars]       

ntp-server=ntp1.aliyun.com          # uat组内公用同一个变量

[test]

controlplane env=prod
node01 env=dev    

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

指定用户组

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1338296.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI大模型引领未来智慧科研暨ChatGPT在地学、GIS、气象、农业、生态、环境等领域中的高级应用

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮,可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

数据结构:单调栈

1.单调栈 单调栈是一种数据结构,其中存放的数据应该是有序的,所以单调栈也有单调递减栈和单调递增栈 单调递增栈:栈顶到栈底的元素大小是从小到大 单调递减栈:栈顶到栈底的元素大小是从大到小 单调栈主要就是用来求一个给定序列中…

【Proteus】swjtu西南交大微机原理与接口技术课设:8086 最小模式下的最简硬件核设计

一、实验目的 让学生深入理解计算机硬件的基本组成结构、工作原理和设计方法,掌握 16 位微处理 器(如 8086)的内部结构和原理,并能够通过实际操作实现对其功能的在线调试和验证。 这样可以加深对计算机系统的认识和理解&#xff…

技术太难,人工太慢,这才是最牛的温湿度监控工具!

随着科技的不断进步和各行业的发展,温湿度监控已经成为确保产品质量、维护设备安全以及提高工作环境效能的关键工具。 在这个信息时代,实时、精准的温湿度数据监测不仅为企业带来了飞速的发展,也为行业发展注入了新的活力。 客户案例 医疗行…

Checkpoint 执行机制原理解析

在介绍Checkpoint的执行机制前,我们需要了解一下state的存储,因为state是Checkpoint进行持久化备份的主要角色。Checkpoint作为Flink最基础也是最关键的容错机制,Checkpoint快照机制很好地保证了Flink应用从异常状态恢复后的数据准确性。同时…

golang连接mysql的第一个程序(最新)

不想多说话,先把golang和mysql连接好,环境配置好,然后直接上代码就行了,代码可直接运行。 package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql" )func main() {// MySQL …

nvm 的安装及使用 (Node版本管理器)

目录 1、nvm 介绍 2、nvm安装 3、nvm 使用 4、node官网可以查看node和npm对应版本 5、nvm安装指定版本node 6、安装cli脚手架 1、nvm 介绍 NVM 全称 node.js version management ,专门针对 node 版本进行管理的工具,通过它可以安装和切换不同版本的…

【SpringCloud笔记】(11)消息驱动之Stream

Stream 技术背景 底层不同模块可能使用不同的消息中间件,这就导致技术的切换,微服务的维护及开发变得麻烦起来 概述 官网: https://spring.io/projects/spring-cloud-stream#overview https://cloud.spring.io/spring-cloud-static/spring…

在Go语言中处理HTTP文件上传

大家好,我是你们可爱又迷人的编程小助手,今天要带你们一起探讨在Go语言中如何处理HTTP文件上传,让我们把这场技术之旅变得轻松有趣吧! 首先,想象一下这个场景:你是一个网站的开发者,用户们急切…

pycharm 工具栏不见了

新版pycharm后, 菜单栏和工具栏不见了 目录 我发现的解决方法: 其他旧版的解决方法: 我发现的解决方法: 其他旧版的解决方法: 另外,一些使用pycharm的新手可能会由于不熟悉软件的功能而误操作&#xff…

文件夹共享(普通共享和高级共享的区别)防火墙设置(包括了jdk安装和Tomcat)

文章目录 一、共享文件1.1为什么需要配置文件夹共享功能?1.2配置文件共享功能1.3高级共享和普通共享的区别: 二、防火墙设置2.1先要在虚拟机上安装JDK和Tomcat供外部访问。2.2设置防火墙: 一、共享文件 1.1为什么需要配置文件夹共享功能&…

springboot对接WebSocket实现消息推送

1.修改pom文件 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency> 2.增加配置WebSocketConfig.java import org.springframework.context.annotation.Bean…

接口测试工具——ApiFox使用初体验 postman导出和ApiFox导入

目录 ApiFox使用初体验初步使用从postman导出到apifox导入 IDEA简单测试Postman测试工具post请求 接口测试工具swaggerKnife4j1.引入依赖2.配置3.常用注解4.接口测试 JMeter什么是JMeter?JMeter安装配置1.官网下载2.下载后解压3.汉语设置 JMeter的使用方法1.新建线程组2.设置参…

智能监控平台/视频共享融合系统EasyCVR海康设备国标GB28181接入流程

TSINGSEE青犀视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力&…

基于springboot的数码论坛系统设计与实现

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 摘 要 网络的广泛应用给…

laravel api资源的问题记录

resource 转换层 可以帮助我们转换一些字段的结果&#xff0c;类似前端的filter。 可以使用比如对象或者模型的形式来处理&#xff0c;但使用sql查询会导致n1的问题。如图&#xff1a; 层次嵌套很多&#xff0c;而且很深&#xff0c;这样虽然开发方便了&#xff0c;但是维护就…

Mysql(5日志备份恢复)

一.日志管理 MySQL 的日志默认保存位置为 /usr/local/mysql/data 先看下mysql的日志文件有无&#xff1a; 修改配置文件添加&#xff1a;错误日志&#xff0c;用来记录当MySQL启动、停止或运行时发生的错误信息&#xff0c;默认已开启 修改配置文件添加&#xff1a;通用查…

PWR 电源控制-stm32入门

这一节我们来学习 STM32 的 PWR 电源控制。 其中&#xff0c;我们重点学习的主要就是 3 种低功耗模式&#xff1a;睡眠模式、停机模式和待机模式。 低功耗模式的目的呢&#xff1f;简单明了&#xff0c;就是省电&#xff0c;这对于一些使用电池供电&#xff0c;又需要长时间待…

腾讯云4核8G服务器轻量和CVM标准型S5对比

腾讯云4核8G服务器优惠价格表&#xff0c;云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元&#xff0c;5年6490.44元&#xff0c;轻量应用服务器4核8G12M带宽一年446元、529元15个月&#xff0c;阿腾云atengyun.com分享腾讯云4核8G服务器详细配置、优惠价格及限制条件&…

nodejs微信小程序+python+PHP基于Android自习室管理系统的设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…