当前位置: 首页 > news >正文

常用的 Ansible 命令有哪些?

日常运维中最常用的 Ansible 命令主要是 ad-hoc 模式下的模块调用,适合快速批量执行命令、检查主机状态、分发文件等场景,不需要写 playbook 就能完成大部分临时任务。

先说结论:Ansible 常用命令围绕「主机 + 模块 + 参数」结构,掌握 5-6 个核心模块就能覆盖 80% 的日常运维需求。

  • 适合:批量执行命令、检查主机连通性、快速分发配置
  • 先看:ansible-doc 查看模块用法,避免参数写错
  • 建议:生产环境先用-C 测试模式确认影响范围

命令速用版

以下是可以直接在 Ansible 控制节点执行的常用命令:

检查主机是否在线:

ansible all -m ping

批量执行系统命令:

ansible all -a 'date'
ansible web -m command -a 'hostname'

查看模块帮助信息:

ansible-doc -l
ansible-doc -s dnf

指定 inventory 文件执行:

ansible -i /path/to/hosts all -m ping

带详细输出执行:

ansible all -m shell -a 'df -h' -v

生产环境执行步骤

步骤 1:确认主机清单配置

检查/etc/ansible/hosts 或自定义 inventory 文件,确保目标主机已定义。可以用-i 参数指定非默认路径。

步骤 2:测试主机连通性

ansible all -m ping

返回 pong 表示 SSH 连接正常,这是执行其他命令的前提。

步骤 3:执行具体任务

根据需求选择模块:command 执行简单命令,shell 支持管道和特殊字符,copy 传输文件,service 管理服务状态,user 管理用户。

步骤 4:生产环境先测试

使用-C 或`--check` 参数测试命令会改变什么内容,不会真正执行,确认影响范围后再正式运行。

ansible all -m dnf -a 'name=httpd state=present' -C

结果验证方法

执行命令后观察返回状态:SUCCESS 表示执行成功,CHANGED 表示有变更,FAILED 表示失败。rc=0 表示命令返回码正常。

可以用以下命令二次验证:

ansible all -a 'whoami'
ansible all -a 'uptime'

检查目标主机实际状态是否与预期一致,比如文件是否存在、服务是否运行、用户是否创建。

常见坑与版本兼容

command 模块不支持管道:command 模块无法使用|、>等 shell 特殊字符,需要管道时用 shell 模块。

-a 参数引号问题:参数后的命令建议用单引号,双引号在某些模块(如 user 模块)可能出问题。

默认 fork 数为 5:并发进程默认 5 个,大批量主机时可用-f 调整,但需考虑控制节点性能。

SSH 密钥配置:生产环境建议配置 SSH 密钥认证,避免每次输入密码,用-k 参数可临时提示输入。

模块版本差异:yum 模块在新版 Ansible 中已 deprecated,建议优先使用 dnf 模块(CentOS 8+/RHEL 8+)或通用 package 模块。script 模块执行的是 Ansible 管理机上的脚本,shell 模块执行的是远程主机上的命令,两者不要混淆。

版本兼容性说明:Ansible 2.10 之后核心模块集合有所调整,部分旧模块可能被标记为弃用。建议通过ansible `--version`确认当前版本,并参考官方文档确认模块可用性。

原文链接:https://www.zjcp.cc/ask/11140.html

http://www.jsqmd.com/news/820585/

相关文章:

  • 广州黄金回收怎么选?跑了 5 家店整理出的正规机构排行榜 - 奢侈品回收测评
  • TensorFlow NLP入门实战:从数据预处理到LSTM模型构建全流程详解
  • HX711 24位ADC模块:从原理到实战的高精度称重传感器应用指南
  • DeepSeek-V4 上线首日实测:10 分钟搭建免费 AI 编程助手,效果直逼 Claude Code
  • YAGNI不是教条,是止损开关——DeepSeek上线前必须运行的7行Python检查脚本
  • 构建高效技能库:从碎片化知识到体系化工程实践
  • Godot 4开源VFX速写本:从粒子系统到着色器的特效创作指南
  • 广东靠谱全屋定制品牌哪家好:排名前五专业深度测评 - 服务品牌热点
  • 卫星视频通信中的混沌加密技术研究与实践
  • 基于语义搜索与向量数据库的AI工具发现引擎Lyra架构与实践
  • HTB 靶机渗透攻略:Facts.htb
  • 基于Terraform的AWS事件驱动架构:S3、Lambda与SQS自动化文件处理流水线
  • 2026年4月卡座床头软包门店推荐,专业沙发翻新/卡座床头软包/红木家具维修保养,卡座床头软包门店哪个好 - 品牌推荐师
  • 开源大模型本地化部署:构建个人AI助理的架构与实践
  • 基于微软Edge TTS的本地免费语音合成工具claude-speak实战指南
  • 【逆向实战】从CTF题目crypt.exe剖析RC4算法在软件保护中的应用与破解
  • httpd 2.4 虚拟主机 + **独立日志** 超详细教程
  • 无代码构建AI智能体:Databerry实战指南与RAG应用解析
  • InfluxDB Studio:时间序列数据库的终极可视化解决方案
  • Mantic.sh:模块化Shell脚本框架,打造高效终端开发工作流
  • Kapp Controller:Kubernetes声明式应用交付与GitOps实践指南
  • 维普「智能检测4.0」算法5项指标拆解!3分钟看懂为什么改稿没用!
  • 马上开课!因果推断与机器学习训练营,10天带你写出能“下结论”的论文!
  • AI扩展开发实战:基于haliphax-ai/extensions构建大模型插件系统
  • [K8S小白问题集] - Calico好在哪里?
  • 终极免费指南:如何简单快速重置JetBrains IDE试用期
  • Python问财API终极指南:快速构建你的金融数据采集系统
  • 3D打印DIY相机电动滑轨:低成本实现专业级平滑运镜
  • 统信 UOS V2500 服务器部署 OpenClaw AI Agent 全流程实践指南
  • 【企业级Linux系统管理模块】测试题-20260514-001篇