1、 Ansible ping模块
ping模块主要用于判断远程客户端是否在线,用于ping本身服务器,返回值为changed、ping。
[root@localhost ~]# ansible -k all -m ping
SSH password:
10.0.0.149 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
10.0.0.148 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
10.0.0.147 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
2、 Ansible command模块
Ansible command模块为ansible默认模块,主要用于执行Linux基础命令,可以执行远程服务器命令执行、任务执行等操作。
Chdir 执行命令前,切换到目录;
Creates 当该文件存在时,则不执行该步骤;
Executable 换用shell环境执行命令;
Free_form 需要执行的脚本;
Removes 当该文件不存在时,则不执行该步骤;
Warn 如果在ansible.cfg中存在告警,如果设定了False,不会警告此行。
[root@localhost ~]# ansible -i /etc/ansible/hosts all -m command -a "date"
10.0.0.149 | CHANGED | rc=0 >>
2020年 03月 31日 星期二 11:08:40 CST
10.0.0.148 | CHANGED | rc=0 >>
2020年 03月 31日 星期二 11:08:41 CST
10.0.0.147 | CHANGED | rc=0 >>
2020年 03月 31日 星期二 11:08:40 CST
# Ansible Hosts正则模式远程执行df -h
[root@localhost ~]# ansible 10.0.0.* -m command -a "df -h"
10.0.0.148 | CHANGED | rc=0 >>
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 19G 1.8G 18G 9% /
devtmpfs 480M 0 480M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 7.5M 484M 2% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/sda1 509M 126M 383M 25% /boot
tmpfs 99M 0 99M 0% /run/user/0
10.0.0.149 | CHANGED | rc=0 >>
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 19G 2.6G 17G 14% /
devtmpfs 903M 0 903M 0% /dev
tmpfs 915M 0 915M 0% /dev/shm
tmpfs 915M 9.4M 906M 2% /run
tmpfs 915M 0 915M 0% /sys/fs/cgroup
/dev/sda1 509M 137M 373M 27% /boot
tmpfs 183M 0 183M 0% /run/user/0
10.0.0.147 | CHANGED | rc=0 >>
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 19G 3.4G 16G 18% /
devtmpfs 480M 0 480M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 7.6M 484M 2% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/sda1 509M 126M 383M 25% /boot
tmpfs 99M 0 99M 0% /run/user/0
3、Ansible copy模块
Ansible copy模块主要用于文件或者目录拷贝,支持文件、目录、权限、用户组功能。
src Ansible端源文件或者目录,空文件夹不拷贝;
content 用来替代src,用于将指定文件的内容,拷贝到远程文件内;
dest 客户端目标目录或者文件,需要绝对路径;
backup 拷贝之前,先备份远程节点上的原始文件;
directory_mode 用于拷贝文件夹,新建的文件会被拷贝,而老旧的不会被拷贝;
follow 支持link文件拷贝;
force 覆盖远程主机不一致的内容;
group 设定远程主机文件夹的组名;
mode 指定远程主机文件及文件及的权限;
owner 设定远程主机文件夹的用户名。
[root@localhost ~]# ansible all -m copy -a "src=/root/index.html dest=/tmp/ mode=755 owner=root"
10.0.0.149 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": true,
"checksum": "5ad4e26690276407ea664947aa66a85c4304dfc4",
"dest": "/tmp/index.html",
"gid": 0,
"group": "root",
"md5sum": "090fe607a5be1228362614ccaa088577",
"mode": "0755",
"owner": "root",
"size": 2381,
"src": "/root/.ansible/tmp/ansible-tmp-1585625154.43-93655245888608/source",
"state": "file",
"uid": 0
}
10.0.0.148 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": true,
"checksum": "5ad4e26690276407ea664947aa66a85c4304dfc4",
"dest": "/tmp/index.html",
"gid": 0,
"group": "root",