总结Ansible常见模块使用

环境准备

先创建一个主机清单,还要做ssh免密:

image

 

1、command

用途是执行命令不经过shell,更安全,但不支持管道、重定向、变量展开等等。适合执行一个二进制命令

演示如下:

-i 指定主机清单hosts.ini;

all 对hosts.ini里的所有主机执行;

-m 指定使用command模块

-a 给模块传参数

意思是对所有主机执行hostname,返回每台主机的主机名

image

2、shell

用途是通过 shell 执行命令。支持管道、重定向、通配符、变量、&&;但更容易引入注入问题,也更难保证幂等,必须依赖 shell 特性的场景。

演示如下:

意思是对所有主机通过shell执行,先输出当前用户家目录,再输出当前日期时间

image

 3、copy

用途:复制本地文件到远端

演示如下:

在控制节点创建一个hello ansible内容的文件demo.txt;把demo.txt复制到所有的远程主机/tmp/demo.txt,权限设置为0644

image

 4、file

用途:创建目录、改权限、建软链接、删文件。

演示如下:

所有主机上确保/tmp/ansible-demo 是一个目录,,权限设置为0755

image

 5、user

用途:管理用户。

演示如下:

在所有主机上创建用户demo,登录shell是/bin/bash并确认这个用户存在

image

 6、stat

用途:检查文件状态

演示如下:

检查所有主机上的/tmp/demo.txt状态

image

 7、再用playbook系统演示

 

image

 

image

 

posted on 2026-06-02 16:27  长谷部优月  阅读(7)  评论(0)    收藏  举报