Ansible-基础模块

  • file模块;

    • file 模块用于对文件相关的操作(创建、删除、软硬链接)
    • 参数;

      • path:要操作的文件路径
      • state:状态选项,用于指定希望文件处于的状态

        • touch:创建文件
        • directory:创建文件夹
        • link:创建软连接文件
        • hard:创建硬链接文件
      • mode:指定文件权限
      • owner:指定文件所有者
      • group:指定文件所属用户组
    • 列:
      • 向所有客户机的/tmp目录下创建demo01.txt文件
        • ansible all -m file -a "path=/tmp/demon01.txt state=touch mode=777 owner=ftp group=daemon"
  • copy模块:

    • ansible的copy模块是用于将文件从管理机复制到客户机。
    • 也可以用来创建目录、设置文件权限或者修改文件的属主和属组
      • 参数:

        • src:指定管理机的文件路径 必须
        • dest:指定客户机的文件路径
        • backup:覆盖文件之前,先将源文件进行备份
        • remote_src:指定true是,表示src参数引用的文件位于目标主机上
        • content:指定在目标主机上创建文件所包含的内容,可以是文本内容,可以是二进制数据的base64编码
        • force:覆盖写入yes,不覆盖no
        • owner:所属用户
        • group:所属组
        • mode:指定文件的权限模式
  • fetch模块:

    • 用于从客户机上复制文件到管理机,但不能复制目录到管理机,比如可以对日志集中化管理

      • 列:ansible all -m fetch -a "src=/data/test02.txt dest=/root/ flat=no"
      • src:客户端源文件
      • dest:管理端目录
      • flat:yes或no,默认为no,如果为no的话 复制过来的文件将会带有在客户机的绝对路径,也就是说,会生成一个以客户机IP命名的文件夹
  • get_url模块:

    • 用户从远程地址下载文件到客户机

      • url:网址路径
      • dest:客户机目录路径
      • force : 如果yes,dest不是目录,将每次下载文件,如果内容改变,替换文件。如果否,则只有在目标不存在时才会下载该文件。
  • unarchive模块:

    • 用于解压缩文件到管理机或客户机

      • 参数:

        • remote_src:如果为yes,则表示要解压缩的文件位于客户机上,如果设置为no,则表示位于管理机上
        • src:指定要解压缩的文件路径
        • dest:指定解压缩后的文件路径(客户机)
        • create:指定一个文件,如果该文件已经存在,就不会再次解压文件。这可以用来判断压缩文件是否已经解压过。
        • extra_opts:允许附加任何额外的选项到压缩和解压缩命令中
        • copy:如果设置为 yes,将在客户机上创建一个彻底的新的文件;如果设置为 no,只有目标文件夹的内容将会改变
      • 列:
        • ansible all -m unarchive -a "src=/root/nginx-1.4.7.tar.gz dest=/root remote_src=yes"
  • yum模块:

    • 用于在客户机上执行于yum软件包管理器相关的操作的模块。
    • 用于安装、升级、删除和管理系统上的软件包

      • name:服务名称\软件包名
      • state:要执行什么操作,latest:安装,absent:卸载
    • 列:
      • ansible all -m yum -a "name=httpd state=latest"
  • setup模块:

    • ansible的setup模块用于收集有关远程主机的信息,包括硬件,操作系统,网络以及其他系统属性
    • ansible all -m setup -a "filter=discovered_interpreter_python gather_subset=network"
  • command模块

    • ansible 的command模块可以用来在远程主机上执行特定的命令。
    • 这个模块可以用于临时任务,但通常建议使用更适合复杂任务和自动化模块和Playbook

      • 1.用于在远程主机上执行单个命令
      • 2.不会调用系统的shell,因此无法使用通配符、重定向、管道等shell功能
      • 3.返回的结果是命令的标准输出
      • 4.适用于执行简单的命令
        • ansible all -a command "ifconfig"
  • shell模块:

    • 允许在远程主机上执行特定的命令,提供了更多的灵活性和功能,相比command模块。
    • 适用于执行复杂的命令和脚本
    • ansible all -m shell -a "ifconfig | grep -A 1 ens33"
  • scripts模块:

    • 用于在远程主机上执行本地脚本文件。这个脚本可以是bash、python或任何其他可执行脚本。当需要在远程主机上运行特定的脚本时,可以使用script模块。
    • 特点:

      • 用于在远程主机上执行本地脚本文件。
      • 会将本地的脚本文件传输到远程主机上执行,并将执行结果返回给控制节点。
      • 如果需要在远程主机上执行特定的本地脚本时,可以使用script模块。
      • 便于在远程主机上执行本地脚本文件,省去了手动传输脚本文件的步骤。
    • ansible all -m script -a "./test.sh"
  • group模块:

    • ansible中的group模块用于管理组的配置,组指的是在/etc/group文件中定义的用户组
    • 参数:

      • name:要操作的组名称
      • state:表示组的状态:

        • present:创建
        • absent:删除
      • system:指定是否是系统组
    • ansible all -m group -a "name=mygroup state=present"
  • user模块

    • 用于管理用户账户的配置,通过user模块,可以创建、删除、管理用户账户的属性。
    • 参数:

      • name:用户名称
      • state:present(创建)

        • absent(删除)
        • lock(锁定)
        • unlock(解锁)
      • uid:用户ID
      • group:所属组
      • password:密码
      • home:家目录
      • shell:默认shell
    • ansible all -m user -a "name=myuser group=mygroup state=present"
  • cron模块:

    • ansible的cron模块是用来管理和配置cron作业的模块,让客户机在预定的时间执行特定的命令或脚本
    • ansible all -m cron -a "name=mytest minute=*/5 job='/root/test.sh' state=present"
      • 参数:

        • minute:设置计划任务中分钟设定位的值,默认为""。
        • job:指定计划的任务中需要实际执行的命令或者脚本。
        • state:当计划任务有名称时,修改或删除对应的任务,当删除计划任务时,需要将 state 的值设置为 absent。
相关推荐
π大星星️8 分钟前
基于LNMP架构的个人博客系统部署
服务器·架构
孙克旭_4 小时前
PXE_Kickstart_无人值守自动化安装系统
linux·运维·自动化
皓月盈江5 小时前
Linux电脑本机使用小皮面板集成环境开发调试WEB项目
linux·php·web开发·phpstudy·小皮面板·集成环境·www.xp.cn
深井冰水5 小时前
mac M2能安装的虚拟机和linux系统系统
linux·macos
leoufung5 小时前
内核内存锁定机制与用户空间内存锁定的交互分析
linux·kernel
菜菜why6 小时前
AutoDL租用服务器教程
服务器
IT专业服务商6 小时前
联想 SR550 服务器,配置 RAID 5教程!
运维·服务器·windows·microsoft·硬件架构
忧虑的乌龟蛋7 小时前
嵌入式Linux I2C驱动开发详解
linux·驱动开发·嵌入式·iic·i2c·读数据·写数据
I_Scholar7 小时前
OPENSSL-1.1.1的使用及注意事项
linux·ssl
Johny_Zhao8 小时前
K8S+nginx+MYSQL+TOMCAT高可用架构企业自建网站
linux·网络·mysql·nginx·网络安全·信息安全·tomcat·云计算·shell·yum源·系统运维·itsm