Ansible介绍、安装、远程执行命令、拷贝文件或者目录、远程执行脚本

简介:

Ansible介绍

不需要安装客户端,通过sshd去通信
基于模块工作,模块可以由任何语言开发
不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读
安装十分简单,centos上可直接yum安装
有提供UI(浏览器图形化)www.ansible.com/tower,收费的
官方文档 http://docs.ansible.com/ansible/latest/index.html
ansible已经被redhat公司收购,它在github上是一个非常受欢迎的开源软件,github地址https://github.com/ansible/ansible
一本不错的入门电子书 https://ansible-book.gitbooks.io/ansible-first-book/

Ansible安装

准备两台机器

test-01 192.168.1.48
test-02 192.168.1.67

只需要在test-01上安装ansible,然后再做ssh密钥认证,使得在test-01 ssh(无密码登录)test-02,也要ssh(无密码登录)test-01
yum install -y ansible

验证:
[root@test-01 ~]# rpm -qa ansible
ansible-2.6.0-1.el7.noarch

vi /etc/ansible/hosts
[testhost]
test-01 #可以写ip地址,这里是写的主机名,但是得写入/etc/hosts
test-02

vi /etc/hosts
192.168.1.48 test-01
192.168.1.67 test-02

Ansible远程执行命令

ansible  testhost -m command -a 'w'
解析:testhost:主机组
-m :后面接模块方法
-a :后面是命令

Ansible拷贝文件或者目录

对testhost 组拷贝文件,目标中的tt不存在时就会创建,存在时就会覆盖原来的内容,写入新的内容
ansible testhost -m copy -a "src=/root/tt.log dest=/tmp/tt owner=root group=root mode=0755"

复制目录,定义所属组,权限为755,当test-02不存在时就会创建,并把shell 传入到/tmp/test-02/下
ansible test-02 -m copy -a "src=/root/shell dest=/tmp/test-02/ owner=root group=root mode=0755"

Ansible远程执行脚本

首先创建一个shell脚本
[root@test-01 opt]# cat /opt/test.sh 
#!/bin/bash
echo date > /tmp/ansible_test.txt

然后把该脚本分发到各个机器上
ansible testhost -m copy -a "src=/opt/test.sh dest=/opt/test.sh mode=0755"

最后是批量执行该shell脚本
ansible testhost -m shell -a "/opt/test.sh"

shell模块,还支持远程执行命令并且带管道
ansible testhost -m shell -a "cat /etc/passwd|wc -l "

文章来源于(www.158aiaitie.com)转载请注明出处

目录
相关文章
「译文」如何在 Ansible 中复制多个文件和目录
「译文」如何在 Ansible 中复制多个文件和目录
|
4月前
|
Kubernetes Shell 网络安全
ansible的安装和简单的块使用
Ansible是一种自动化工具,用于配置管理、应用程序部署和协调云部署。它是一个开源工具,使用Python编写,通过SSH协议与远程主机通信。
123 2
ansible的安装和简单的块使用
|
1天前
|
存储 运维 Shell
Ansible自动化运维工具安装和基本使用
Ansible 是一款无代理的IT自动化工具,通过SSH连接目标主机执行配置管理、应用部署和云端管理任务。它使用YAML编写的Playbook定义任务,核心组件包括Playbook、模块、主机清单、变量等。Ansible的优势在于易用、功能强大、无须在目标主机安装额外软件,并且开源。安装过程涉及配置网络源、yum安装和SSH密钥设置。通过定义主机清单和使用模块进行通信测试,确保连接成功。
Ansible自动化运维工具安装和基本使用
|
8月前
|
缓存
yum install ansible无法直接安装Ansible的解决方法
准备三台机器: server.example.com node1.example.com node2.example.com 配置IP,主机名,/etc/hosts
311 0
|
4月前
|
Linux Python
百度搜索:蓝易云【centos使用pip安装ansible教程。】
以上是在CentOS中使用pip安装Ansible的简要步骤。请注意,这是一个基本指南,实际操作中可能会有特定的配置和依赖项。建议参考Ansible官方文档或其他详细教程以获得更全面和准确的信息。
50 0
|
5月前
|
Shell API Docker
ansible api执行远程脚本结果中文乱码报错
ansible api执行远程脚本结果中文乱码报错
|
5月前
|
Linux Shell
suse 12 sp3 利用shell脚本离线编译安装ansible
suse 12 sp3 利用shell脚本离线编译安装ansible
49 0
|
8月前
|
运维 Ubuntu 应用服务中间件
【运维知识进阶篇】Ansible自动化运维-Ansible安装与主机列表
【运维知识进阶篇】Ansible自动化运维-Ansible安装与主机列表
117 0
|
11月前
|
Kubernetes 负载均衡 Docker
ansible学习之旅(ansible依托kubeadm安装一个简单的k8s集群)
ansible学习之旅(ansible依托kubeadm安装一个简单的k8s集群)
119 0
|
11月前
|
NoSQL Shell Redis
ansible--一键部署redis5.0.5集群及全套脚本
ansible--一键部署redis5.0.5集群及全套脚本