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 "

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

  1. cmd到指定目录并执行命令 mysql到bin目录并执行命令 cmd bat进入指定文件夹中并执行命令

    其实就一条命令:(保存为bat格式,注意:有两个and希腊字母 && ) cmd /k "cd /d Your ProjectPath&&Your CMD c ...

  2. ansible介绍、安装、远程执行命令、拷贝文件或目录、远程执行脚本、管理任务计划、安装包和管理服务、playbook、变量、循环、条件判断、handlers、安装nginx、管理配置文件

    24.15 ansible介绍 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系 ...

  3. python调用scp上传目录_python执行scp命令拷贝文件及文件夹到远程主机的目录方法...

    系统环境centos7 python2.7 先在操作系统安装expect [root@V71 python]# vi 3s.py #!/usr/bin/python #coding:utf-8 imp ...

  4. 怎么在服务器上拷贝文件夹,怎么从远程服务器上拷贝文件夹

    怎么从远程服务器上拷贝文件夹 内容精选 换一换 如果DDK和Atlas 200 DK Atlas 300不在同一服务器,请执行1~7.如果DDK和Atlas 200 DK Atlas 300在同一服务 ...

  5. windows远程桌面无法拷贝文件的问题与解决方法

    windows远程桌面无法拷贝文件的问题与解决方法 参考文章: (1)windows远程桌面无法拷贝文件的问题与解决方法 (2)https://www.cnblogs.com/yanggb/p/112 ...

  6. RHCSA (二) —— 常用简单命令Linux文件类型目录操作命令文件操作命令

    RHCSA 第二天 一.常用简单命令 1.timedatectl命令 timedatectl命令中的参数以及作用 2.reboot命令 3.poweroff命令 4.wget命令 wget命令的参数以 ...

  7. Linux命令:文件和目录操作

    Linux命令:文件和目录操作 >文件是Linux用来存储信息的基本结构, 它是被命名(称为文件名)的存储在某种介质(如磁盘.光盘.磁带等)上的一组信息的集合. >Linux系统文件以文件 ...

  8. linux cp复制文件夹下的软连接,Linux培训:cp命令复制文件和目录

    Linux培训:cp命令复制文件和目录 更新时间:2019年04月02日16时56分 来源:传智播客linux培训 浏览次数: cp 是用于复制的命令,其基本信息如下: 命令名称:cp: 英文原意:c ...

  9. linux chown命令: 修改文件或目录的所有者或群组

    linux chown命令: 修改文件或目录的所有者或群组 介绍: chown命令可以修改文件(目录)的所有者和群组信息. 语法: chmod [-cfhvR] user[:group] file.. ...

最新文章

  1. Git 头指针分离与 FETCH_HEAD
  2. 应用在大规模推荐系统,Facebook提出组合embedding方法 | KDD 2020
  3. angularjs与java_关于angularjs与java结合,获取后台数据并解析的问题
  4. 主进程退出后子进程还会存在吗?_【干货】Linux进程模型 全解
  5. NIO学习–核心概念与基本读写
  6. 海量url mysql_海量数据mysql优化步骤
  7. 字符串的回文子序列个数_计算给定字符串中回文子序列的数量
  8. 更简洁的方式修改Chrome的User Agent,轻松体验移动版网络
  9. flutter网络dio框架公共请求参数、请求header使用总结
  10. 20145303 《信息安全系统设计基础》第7周学习总结(2)
  11. python将数据写入txt文本文件
  12. 2022年熔化焊接与热切割考试模拟100题及在线模拟考试
  13. 【数据结构】图—弗洛伊德(Floyd)算法
  14. TIMG二进制文件转JPEG图片的方法
  15. C++并发编程(C++11到C++17)转载
  16. leetcode 881 救生艇 (python3- 贪心算法)
  17. Android开发学习之WindowManager实现弹窗
  18. 伽罗华域(Galois Field,GF,有限域)
  19. 无用功——是不是到处可见?
  20. Linux Power supply子系统分析之一

热门文章

  1. c语言什么是测试环境,vscode搭建与测试c语言运行环境
  2. 「蓝光」「720/1080p」「HR-HDTV」等视频制式都是什么意思?清晰度对比如何?
  3. openamp RPU-APU双核间通信 建立多个通道
  4. 魏文王问扁鹊的注释_《魏文王问扁鹊》及翻译
  5. 怎样提高报表呈现的性能?
  6. 通用mapper——自定义搭配继承Mapper
  7. Crowding Counter 之 修改ShanghaiTech数据集
  8. Spark运行环境之SparkEnv和通信工具RpcEnv
  9. c51单片机汇编语言指令,单片机汇编语言指令
  10. ECIF OCRM ACRM