首页 > 系统相关 >Linux Ansible 常用模块教程详解

Linux Ansible 常用模块教程详解

时间:2024-10-26 17:47:14浏览次数:7  
标签:name 示例 ansible state Ansible 模块 Linux 详解

Ansible 是一款流行的开源自动化工具,它通过简单的模型来管理配置服务器、部署软件以及执行各种IT任务。Ansible 使用无代理(agentless)架构,这意味着不需要在被管理的节点上安装额外的软件。以下是一些常用的 Ansible 模块及其使用方法:

1. Command模块

Command模块用于在远程主机上执行命令。它不支持管道和重定向等复杂的shell特性。如果需要这些特性,可以使用Shell模块。

常用参数:

  • free_form:要执行的命令。
  • chdir:执行命令前切换到的目录。
  • creates:如果指定的文件存在,则不执行命令。
  • removes:如果指定的文件不存在,则执行命令。

示例:

ansible all -m command -a "ls -l /tmp"

2. Shell模块

Shell模块与Command模块类似,但它在远程主机上执行shell命令,并支持管道和重定向。

常用参数:

  • free_form:要执行的命令。
  • chdir:执行命令前切换到的目录。
  • creates:如果指定的文件存在,则不执行命令。
  • removes:如果指定的文件不存在,则执行命令。
  • executable:指定使用的shell,如/bin/bash

示例:

ansible all -m shell -a "ls -l /tmp | grep log"

3. Copy模块

Copy模块用于将文件从Ansible控制节点复制到远程主机。

常用参数:

  • src:源文件路径。
  • dest:目标文件路径。
  • content:直接指定文件内容。
  • owner:设置文件所有者。
  • group:设置文件所属组。
  • mode:设置文件权限。

示例:

ansible all -m copy -a "src=/etc/hosts dest=/tmp/hosts"

4. File模块

File模块用于管理文件和目录的属性,如权限、所有者和链接。

常用参数:

  • path:文件或目录的路径。
  • state:期望的状态(如directoryfilelinkabsent)。
  • mode:设置权限。
  • owner:设置所有者。
  • group:设置所属组。

示例:

ansible all -m file -a "path=/tmp/state state=directory"

5. User模块

User模块用于管理远程主机上的用户账户。

常用参数:

  • name:用户名。
  • statepresent表示创建用户,absent表示删除用户。
  • uid:用户ID。
  • group:基本组。
  • groups:附加组。
  • shell:默认shell。
  • home:家目录。

示例:

ansible all -m user -a "name=john state=present"

6. Group模块

Group模块用于管理远程主机上的用户组。

常用参数:

  • name:组名。
  • statepresent表示创建组,absent表示删除组。
  • gid:组ID。

示例:

ansible all -m group -a "name=developers state=present"

7. Service模块

Service模块用于管理远程主机上的服务。

常用参数:

  • name:服务名。
  • state:服务状态(如startedstoppedrestarted)。
  • enabled:是否设置为开机启动。

示例:

ansible all -m service -a "name=httpd state=started enabled=yes"

8. Yum模块

Yum模块用于在基于RPM的系统上管理软件包。

常用参数:

  • name:软件包名。
  • state:软件包状态(如presentlatestabsent)。

示例:

ansible all -m yum -a "name=nginx state=present"

9. Cron模块

Cron模块用于管理远程主机上的cron任务。

常用参数:

  • name:cron任务名称。
  • job:要执行的命令。
  • minutehourdaymonthweekday:cron表达式的时间设置。

示例:

ansible all -m cron -a "name='backup' job='/usr/bin/backup.sh' weekday=1"

这些模块是Ansible自动化中常用的模块,通过它们可以实现各种自动化任务。更多模块和详细用法可以参考Ansible官方文档。

标签:name,示例,ansible,state,Ansible,模块,Linux,详解
From: https://blog.csdn.net/qq_40797754/article/details/143257197

相关文章

  • HTML(网页)打包EXE, 添加网络验证(卡密)详解
    介绍HTML(网页)打包EXE软件1.9.97版本中,新增了网络验证功能,它可以给打包生成的EXE文件添加网络验证功能,即添加卡密,打包后的EXE文件用户首次打开使用时,会提示需要输入激活码(卡密),输入正确后才可以正常使用. CSDN文库下载地址: https://download.csdn.net/downl......
  • [asm]: linux syscall number(32bits_64bits)
    [asm]:linuxsyscallnumber(32bits_64bits)    一、32bit_syscall_number(451个系统调用)1[root@rocky:tmp]#catlinux_syscall_no_32.txt2//date:2024-10-263//usingFor:4//--AssemblyLanguage(nasm,gas)5//--syscall......
  • 算法之树状数组详解
    树状数组树状数组(BinaryIndexedTree,简称BIT),也被称为Fenwick树,是一种用于处理数组问题的高效数据结构。它特别适合解决涉及区间查询和更新的问题,尤其是当需要频繁地计算数组的前缀和时。树状数组的核心思想是利用二进制表示法(lowbit函数)来快速定位数组中的区间,并在O(lo......
  • gdal部署及java调用详细过程(linux版本-ubuntu)
    建议gdal用3.5.3前的版本,因为目前网上大部分文章都是适用这个版本之前的编译方法一、gdal部署1)安装gcc通过系统包管理器安装sudoaptinstallgccgcc--version2)安装g++通过系统包管理器安装sudoaptinstallg++g++--version3)安装Ant通过系统包管理器安装sudoapt-g......
  • Linux笔记---Makefile的简单用法
    1.什么是MakefileMakefile是一种用于自动化构建和管理项目的工具,特别是在软件开发中非常常见。它包含了一系列规则(rules)和指令,描述了如何编译和链接源代码文件,以及生成最终的可执行文件或库文件。简单来说,在系统中存在一个叫做make的命令,该命令被使用之后,会在当前目录下......
  • 文件操作详解
    目录1.为什么使⽤⽂件?2.什么是⽂件?2.1程序⽂件2.2数据⽂件2.3⽂件名3.⼆进制⽂件和⽂本⽂件?4.⽂件的打开和关闭4.1流和标准流4.1.1流4.1.2标准流4.2⽂件指针4.3⽂件的打开和关闭5.⽂件的顺序读写5.1顺序读写函数介绍5.2对⽐⼀组函数:6.⽂件的随......
  • 动态内存管理详解
    目录1.为什么要有动态内存分配2.malloc和free2.1malloc2.2free3.calloc和realloc3.1calloc3.2realloc4.常⻅的动态内存的错误4.1对NULL指针的解引⽤操作4.2对动态开辟空间的越界访问4.3对⾮动态开辟内存使⽤free释放4.4使⽤free释放⼀块动态开辟内存的......
  • Linux Centos安装ElasticSearch、分词器、es-head和Kibana
    1前言Java中比较流行的搜索引擎是Elasticsearch,传统的数据库搜索,使用like’关键字%’,当内容过多时性能会大大降低,所以Elasticsearch就出现了。下面,记录下Linux下Elasticsearch的安装过程。2Linux下安装Elasticsearch2.1下载和解压安装包官网下载地址:https://www.elastic.......
  • Linux 中awk语句匹配首个数字与匹配首个连续的数字的区别
     001、[root@localhosttest]#catb.txt##测试数据000120081223efs333kjfdjEREADFASDLKJCV000220081208djfks2288daaJDKFJALSDJFsddf000320081208efskjfdjEREADFASDLKJCV000420081211djfksdaa1234JDKFJALSDJFs......
  • USB协议详解第22讲(USB包-数据包及重传机制)
    USB协议详解第22讲(USB包-数据包及重传机制)1.数据包的分类数据类包有DATA0数据包、DATA1数据包、DATA2数据包、DATAM数据包。2.数据类包的组成我们今天看数据类包的详细结构,数据包的内容由PID域+数据域+16bitCRC域组成,下图为数据包各个域和抓包协议的对应图。3.数据包的功能......