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 "
Ansible介绍、安装、远程执行命令、拷贝文件或者目录、远程执行脚本相关推荐
- cmd到指定目录并执行命令 mysql到bin目录并执行命令 cmd bat进入指定文件夹中并执行命令
其实就一条命令:(保存为bat格式,注意:有两个and希腊字母 && ) cmd /k "cd /d Your ProjectPath&&Your CMD c ...
- ansible介绍、安装、远程执行命令、拷贝文件或目录、远程执行脚本、管理任务计划、安装包和管理服务、playbook、变量、循环、条件判断、handlers、安装nginx、管理配置文件
24.15 ansible介绍 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系 ...
- python调用scp上传目录_python执行scp命令拷贝文件及文件夹到远程主机的目录方法...
系统环境centos7 python2.7 先在操作系统安装expect [root@V71 python]# vi 3s.py #!/usr/bin/python #coding:utf-8 imp ...
- 怎么在服务器上拷贝文件夹,怎么从远程服务器上拷贝文件夹
怎么从远程服务器上拷贝文件夹 内容精选 换一换 如果DDK和Atlas 200 DK Atlas 300不在同一服务器,请执行1~7.如果DDK和Atlas 200 DK Atlas 300在同一服务 ...
- windows远程桌面无法拷贝文件的问题与解决方法
windows远程桌面无法拷贝文件的问题与解决方法 参考文章: (1)windows远程桌面无法拷贝文件的问题与解决方法 (2)https://www.cnblogs.com/yanggb/p/112 ...
- RHCSA (二) —— 常用简单命令Linux文件类型目录操作命令文件操作命令
RHCSA 第二天 一.常用简单命令 1.timedatectl命令 timedatectl命令中的参数以及作用 2.reboot命令 3.poweroff命令 4.wget命令 wget命令的参数以 ...
- Linux命令:文件和目录操作
Linux命令:文件和目录操作 >文件是Linux用来存储信息的基本结构, 它是被命名(称为文件名)的存储在某种介质(如磁盘.光盘.磁带等)上的一组信息的集合. >Linux系统文件以文件 ...
- linux cp复制文件夹下的软连接,Linux培训:cp命令复制文件和目录
Linux培训:cp命令复制文件和目录 更新时间:2019年04月02日16时56分 来源:传智播客linux培训 浏览次数: cp 是用于复制的命令,其基本信息如下: 命令名称:cp: 英文原意:c ...
- linux chown命令: 修改文件或目录的所有者或群组
linux chown命令: 修改文件或目录的所有者或群组 介绍: chown命令可以修改文件(目录)的所有者和群组信息. 语法: chmod [-cfhvR] user[:group] file.. ...
最新文章
- Git 头指针分离与 FETCH_HEAD
- 应用在大规模推荐系统,Facebook提出组合embedding方法 | KDD 2020
- angularjs与java_关于angularjs与java结合,获取后台数据并解析的问题
- 主进程退出后子进程还会存在吗?_【干货】Linux进程模型 全解
- NIO学习–核心概念与基本读写
- 海量url mysql_海量数据mysql优化步骤
- 字符串的回文子序列个数_计算给定字符串中回文子序列的数量
- 更简洁的方式修改Chrome的User Agent,轻松体验移动版网络
- flutter网络dio框架公共请求参数、请求header使用总结
- 20145303 《信息安全系统设计基础》第7周学习总结(2)
- python将数据写入txt文本文件
- 2022年熔化焊接与热切割考试模拟100题及在线模拟考试
- 【数据结构】图—弗洛伊德(Floyd)算法
- TIMG二进制文件转JPEG图片的方法
- C++并发编程(C++11到C++17)转载
- leetcode 881 救生艇 (python3- 贪心算法)
- Android开发学习之WindowManager实现弹窗
- 伽罗华域(Galois Field,GF,有限域)
- 无用功——是不是到处可见?
- Linux Power supply子系统分析之一