千家信息网

Ansible常用的模块有哪些?

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Ansible命令命令格式:ansible [主机] [-m 模块] [-a args]ansible-doc -l #列出所有已安装的模块 注:按q退出ansible-doc -s yum #-s列
千家信息网最后更新 2026年11月02日Ansible常用的模块有哪些?

Ansible命令

命令格式:ansible [主机] [-m 模块] [-a args]
ansible-doc -l #列出所有已安装的模块 注:按q退出
ansible-doc -s yum #-s列出yum模块描述信息和操作动作
ansible 192.168.0.106 -m command -a 'date' #指定ip执行date
ansible abc -m command -a 'date' #指定分类执行date
ansible all -m command -a 'date' #所有hosts主机执行date命令
ansible all -a 'ls /root' #如果不加-m模块,则默认运行command模块

Ansible模块

command模块

command模块在远程主机执行命令,不支持管道、重定向等shell的特性。常用的参数如下:
chdir:在远程主机上运行命令前要提前进入的目录;
creates:在命令运行时创建一个文件,如果文件已存在,则不会执行创建任务;
removes:在命令运行时移除一个文件,如果文件不存在,则不会执行移除任务;
executeable:指明运行命令的shell程序;

示例如下:

ansible web -m command -a 'ls /root'

shell模块

shell模块在远程主机执行命令,相当于调用远程主机的Shell进程,然后在该Shell下打开一个子Shell运行命令。和command模块的区别是它支持Shell特性:如管道、重定向等。

示例如下:

ansible web -m shell -a "echo hello world " #输出到屏幕
ansible web -m shell -a "echo hello world > a.txt" #输出到a.txt

copy模块

copy模块用于复制指定主机文件到远程主机的指定位置。常见的参数如下:
dest:指出复制文件的目标目录位置,使用绝对路径。如果源是目录,则目标也要是目录,如果目标文件已存在,会覆盖原有内容;
src:指出源文件的路径,可以使用相对路径和绝对路径,支持直接指定目录。如果源是目录,则目标也要是目录;
mode:指出复制时,目标文件的权限,可选;
owner:指出复制时,目标文件的属主,可选;
group:指出复制时目标文件的属组,可选;
content:指出复制到目标主机上的内容,不能和src一起使用,相当于复制content指明的数据到目标文件中;

示例如下:

ansible web -m copy -a 'src=/root/m.txt dest=/root/ owner=root mode=640'


hostname模块

hostname模块用于管理远程主机上的主机名
常用的参数如下:
name:指明主机名;

示例如下:

ansible 192.168.0.100 -m hostname -a "name=web"

yum模块

yum模块基于yum机制,对远程主机管理程序包。常用的参数如下:
name:程序包名称,可以带上版本号。若不指明版本,则默认为最新版本;
state=present|atest|absent:指明对程序包执行的操作:present表明安装程序包,latest表示安装最新版本的程序包,absent表示卸载程序包;
disablerepo:在用yum安装时,临时禁用某个仓库的ID;
enablerepo:在用yum安装时,临时启用某个仓库的ID;
conf_file:yum运行时的配置文件,而不是使用默认的配置文件;
disable_gpg_check=yes|no:是否启用完整性校验功能;

示例如下:

ansible web -m yum -a "name=httpd" #安装httpd
ansible web -m shell -a "rpm -qa | grep httpd" #查看安装httpd


管理端只是发送yum指令到被管理端,被管理端要存在可用的yum仓库才可以成功安装。

service模块

service模块为用来管理远程主机上的服务的模块。常见的参数如下:
name:被管理的服务名称;
state=started|stopped|restarted:动作包含启动,关闭或重启;
enable=yes|no:表示是否设置该服务开机自启动;
runlevel:如果设定了enabled开机自启动,则要定义在哪些运行目标下自动启动;

示例如下:

ansible web -m service -a "name=httpd
enabled=yes state=restarted" #设置httpd服务重新启动和开机自动启动


user模块

user模块主要用于管理远程主机上的用户账号。常见的参数如下:
name:必选参数,账号名称;
state=present|absent:创建账号或者删除账号,present表示创建,absent表示删除;
system=yes|no:是否为系统账户;
uid:用户UID;
group:用户的基本组;
groups:用户的附加组;
shell:默认使用的shell;
home:用户的家目录;
mve_home=yes|no:如果设置的家目录已经存在,是否将已存在的家目录进行移动;
pssword:用户的密码,建议使用加密后的字符串;
comment:用户的注释信息;
remore=yes|no:当state=absent时,是否要删除用户的家目录;

示例如下:

ansible web -m user -a "name=user01 system=yes uid=52 group=root groups=root shell=/etc/nologin home=/home/user01 password=123123"
在web组的所有主机上新建一个系统用户,UID为52,
属组是root,名字是user01,密码是123123
ansible abc -m command -a 'tail -3 /etc/passwd'

cron模块

用于定义任务计划
两种状态(state):present表示添加(可以省略),absent表示移除。

示例如下:

ansible abc -m cron -a 'minute="*/1" job="/bin/echo hello world" name="test cron job"' #每一分钟写入"hello world"
ansible abc -a 'crontab -l' #查看计划性任务
ansible abc -m cron -a 'name="test cron job" state=absent' #移除计划任务
ansible abc -a 'crontab -l'

group模块

对用户组进行管理
group模块请求的是groupadd, groupdel, groupmod 三个指令。

示例如下:

ansible abc -m group -a 'name=nginx gid=306 system=yes'
ansible abc -a 'tail -2 /etc/group'

file模块

用于设置文件属性 (path: 是文件路径 src:定义源文件路径 )

示例如下:

ansible abc -m file -a "path=/root/test.txt state=touch" #新建文件
ansible abc -a "ls -l /root/test.txt" #查看
ansible abc -m file -a "path=/root/test.txt state=absent" #删除文件

ping模块

用于检测指定主机的连通性

示例如下:

ansible all -m ping

script模块

可以将本地脚本复制到被管理主机上进行执行。需要注意使用相对路径来指定脚本

示例如下:

echo -e 'echo "this is ansible script !" >/root/abc.sh' > /root/test.sh
chmod +x test.sh
ansible abc -m script -a 'test.sh'
ansible abc -a 'cat /root/abc.sh'

备注:本地脚本不要加上声明(#!/bin/bash),否则报错

setup模块

用于收集、查看被管理主机的facts(facts是Ansible采集被管理主机设备信息的一个功能)

示例如下:

ansible abc -m setup

模块 主机 文件 示例 管理 目录 命令 用户 目标 运行 参数 程序 路径 任务 版本 账号 服务 常用 仓库 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技网 苏州找大状互联网科技有限公司 科技类互联网 北京互联网科技 互联网金融与金融科技 中国 科技 互联网 互联网高科技企业 金融科技和互联网金融 联恩商钥互联网科技有限公司 深圳卡尔迅互联网科技有限公司怎么样 互联网 科技馆 昭通云南众福互联网科技有限公司 浙江互联网科技研学营 注册互联网科技公司经营范围大全 互联网科技大奖都有哪些公司 科技赋能视角下互联网保险发展 上海钢联属于互联网科技股吗 唐山双旺合互联网科技产业园 互联网领先科技成果宣传视频 科技发展第三阶段互联网时代 河南真二互联网科技有限公司 时间互联网络科技 互联网科技大奖都有哪些公司 畅思互联网科技 科技互联网的核心竞争力 江苏互联网智能科技软件 新氧科技和美国互联网有关系吗 亚光科技低轨卫星互联网 互联网科技大会大佬 前海云享互联网科技
0