-
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"
- 向所有客户机的/tmp目录下创建demo01.txt文件
-
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模块:
-
用户从远程地址下载文件到客户机
- 列:ansible all -m get_url -a "url=http://nginx.org/download/nginx-1.4.7.tar.gz dest=/root force=yes"
- 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。
-
Ansible-基础模块
努力转型的IT小王2024-04-23 21:56
相关推荐
冬天vs不冷18 分钟前
Linux用户与权限管理详解凯子坚持 c1 小时前
深入Linux权限体系:守护系统安全的第一道防线✿ ༺ ོIT技术༻1 小时前
C++11:新特性&右值引用&移动语义watermelonoops4 小时前
Deepin和Windows传文件(Xftp,WinSCP)疯狂飙车的蜗牛5 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考远游客07137 小时前
centos stream 8下载安装遇到的坑马甲是掉不了一点的<.<7 小时前
本地电脑使用命令行上传文件至远程服务器jingyu飞鸟7 小时前
centos-stream9系统安装docker超爱吃士力架8 小时前
邀请逻辑LIKEYYLL9 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面