运维效率翻倍:带你认识 Ansible 最常用的 14 个模块
本文将介绍 Ansible 在运维工作中最常用的 14 个模块,带你实现工作效率的翻倍。
Ansible 是一款开源的自动化运维工具,主要用于配置管理、应用部署、任务自动化和持续交付。Ansible 对于运维工作有多重要性,已经不需要再多言,掌握它的使用如同打开了自动化的大门。
本文将介绍Ansible在运维工作中最常用的14个模块,带你实现工作效率的翻倍。

一、基础连接与测试模块
1. ping模块
测试与目标主机的连接性:
ansible all -m ping
示例输出:
server1 | SUCCESS => { "changed": false, "ping": "pong"}
2. command模块(不支持shell特性)
在远程主机执行命令:
ansible webservers -m command -a "uptime"
常用参数:
- `chdir`:执行前切换目录- `creates`:如果文件存在则不执行- `removes`:如果文件不存在则不执行示例:
ansible db -m command -a "mysqldump -u root -p password dbname > backup.sql chdir=/backups"
3. shell模块
在远程主机通过shell执行命令(支持管道、重定向等):
ansible all -m shell -a "df -h | grep /dev/sda1"
二、文件操作模块
4. copy模块
复制本地文件到远程主机:
ansible webservers -m copy -a "src=/etc/nginx/nginx.conf dest=/etc/nginx/nginx.conf owner=root group=root mode=0644 backup=yes"
5. file模块
管理文件属性或创建文件/目录/链接:
创建目录:ansible app -m file -a "path=/opt/myapp state=directory mode=0755"创建软链接:
ansible all -m file -a "src=/etc/nginx/nginx.conf dest=/tmp/nginx.conf state=link"删除文件:
ansible all -m file -a "path=/tmp/testfile state=absent"
6. stat模块
获取文件状态信息:
ansible webservers -m stat -a "path=/etc/nginx/nginx.conf"
输出示例:
{ "changed": false, "stat": { "exists": true, "gid": 0, "group": "root", "mode": "0644", "mtime": 1634567890.1234567, "path": "/etc/nginx/nginx.conf", "size": 1024, "uid": 0, "owner": "root" }}
三、软件包管理模块
7. yum模块 (RHEL/CentOS)
安装包:
ansible centos_servers -m yum -a "name=nginx state=present"
更新所有包:
ansible centos_servers -m yum -a "name=* state=latest"
删除包:
ansible centos_servers -m yum -a "name=nginx state=absent"
8. apt模块 (Debian/Ubuntu)
安装包:
ansible ubuntu_servers -m apt -a "name=nginx state=present update_cache=yes"
删除包:
ansible ubuntu_servers -m apt -a "name=nginx state=absent"
四、系统服务管理
9. service模块
启动服务:
ansible webservers -m service -a "name=nginx state=started enabled=yes"
重启服务:
ansible webservers -m service -a "name=nginx state=restarted"
停止服务:
ansible webservers -m service -a "name=nginx state=stopped"
五、用户与组管理
10. user模块
创建用户:
ansible all -m user -a "name=testuser uid=1000 group=admin create_home=yes shell=/bin/bash"
删除用户:
ansible all -m user -a "name=testuser state=absent remove=yes"
11. group模块
创建组:
ansible all -m group -a "name=admin gid=1000 state=present"
删除组:
ansible all -m group -a "name=admin state=absent"
六、常用高级模块
12. setup模块
收集主机系统信息:
ansible all -m setup
过滤特定信息:
ansible all -m setup -a "filter=ansible_distribution*"
13. cron模块
添加cron任务:
ansible all -m cron -a "name='daily backup' minute=0 hour=2 job='/usr/local/bin/backup.sh'"
删除cron任务:
ansible all -m cron -a "name='daily backup' state=absent"
14. lineinfile模块
确保某行存在:
ansible all -m lineinfile -a "path=/etc/ssh/sshd_config line='PermitRootLogin no' regexp='^PermitRootLogin'"
删除某行:
ansible all -m lineinfile -a "path=/etc/hosts state=absent line='127.0.0.1 badhost'"
七. 实际使用技巧
(1) 查看模块帮助文档:
ansible-doc copy
(2) 限制执行主机:
ansible webservers[0] -m ping # 只对webservers组第一个主机执行
(3) 并行执行控制:
ansible all -m ping -f 10 # 使用10个并行进程
(4) 使用become提权:
ansible all -m yum -a "name=nginx state=present" --become --ask-become-pass
(5) 调试模式:
ansible all -m command -a "ls /nonexistent" --check -vvv
掌握这些常用模块的命令行用法,可以快速完成日常运维任务,提高工作效率。当然,对于更加复杂的任务,建议还是使用Playbook来实现更结构化的自动化管理。
相关攻略
企业需要定制化系统安装盘是为了提升部署效率、确保标准化配置、增强安全性及降低运维成本。具体步骤包括:1 准备参考机并安装纯净系统与通用驱动、更新和软件;2 使用sysprep工具对
一、目标与范围明确通过自动化运维提升网络运维效率、减少故障时间的目标。涵盖企业内部网络设备、服务器及相关网络应用的运维工作。二、现状评估全面梳理现有的网络架构、设备清单、运维流程以
postfix反垃圾邮件配置的基本步骤包括:1)启用smtpd的反垃圾邮件保护,2)配置灰名单,3)设置spf,这些步骤为postfix提供了一个基础的反垃圾邮件框架。配置Post
热门专题
热门推荐
《蓝色星原:旅谣》中,“断风磐”区域存在以翼人为核心的独立阵营。该种族天生双翼,可浮空移动,成员间保持疏离感。核心角色包括擅长雷属性连击与印记附加的米蒂,以及专精“破刃”、能通过印记提升大招伤害的法兰塔。阵营的浮空机制兼顾种族特色与战斗平衡,适合追求强度与手感的玩家。
币安官网入口与注册地址详解 不少朋友都在询问,币安的官网入口和交易所注册地址究竟在哪里。别急,下面我们就来详细梳理一下,帮你快速找到门路,并了解这个平台的核心特点。 币安官网注册入口: 币安官方APP下载: 作为全球领先的数字资产交易平台,币安提供的服务相当全面。其核心优势之一,在于多样化的交易选择
一款出色的竞速游戏或体育游戏,其灵魂要素往往离不开一份精心编排的背景音乐歌单。 回顾《托尼·霍克职业滑板1+2 重制版》发售前,玩家们最关心的核心悬念之一,便是原版经典曲目能否全部保留。事实证明,它成功做到了这一点。这也使得后来《职业滑板3+4 重制版》因音乐阵容变动而引发的玩家不满,显得尤为明显。
在《奥特曼传奇英雄》中,卡牌系统是提升战力的核心玩法之一。一套精心搭配的卡牌能为全队英雄带来显著的属性加成,直接影响你的战斗表现。今天,我们就来全面解析卡牌系统的获取、培养与搭配策略,助你高效提升实力。 卡牌获取途径详解 想要组建强大的卡牌阵容,首先需要了解各种获取渠道。游戏内提供了多种方式,让你能
《奥特曼传奇英雄》的PVP对战是玩家间实时竞技的核心。战力提升依赖装备强化、源晶系统与英雄羁绊搭配。奥特竞技场包含单人模式与荣耀3V3,需运用属性克制与团队策略。当战力相当时,胜负取决于英雄搭配、技能释放时机及控制、恢复等细节操作。全面准备方能制胜。





